All Downloads are FREE. Search and download functionalities are using the official Maven repository.

e.metridoc.metridoc-project.0.21.source-code.build.groovy Maven / Gradle / Ivy

There is a newer version: 0.30
Show newest version
/*
 * Copyright 2010 Trustees of the University of Pennsylvania Licensed under the
 * Educational Community License, Version 2.0 (the "License"); you may
 * not use this file except in compliance with the License. You may
 * obtain a copy of the License at
 *
 * http://www.osedu.org/licenses/ECL-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an "AS IS"
 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
def root = new File(getClass().protectionDomain.codeSource.location.path).parent
def buildHelper = getBuildHelper()
buildHelper.root = root

//add dependencies here
buildHelper.addDependency(group:'com.googlecode.metridoc', module: 'metridoc-all')

println "Running build with steps ${args}"

args.each {
    if(containsStep(it)) {
        this."${it}"()
    } else {
        buildHelper."${it}"()
    }
}

def getBuildHelper() {
    def className = "metridoc.build.BuildHelper"
    try {
        return Class.forName(className).newInstance()
    } catch (ClassNotFoundException) {
        def url = new URL("http://metridoc.googlecode.com/svn/trunk/core/metridoc-project/src/main/groovy/metridoc/build/BuildHelper.groovy")
        String text = url.getText("utf-8")
        GroovyClassLoader classLoader = new GroovyClassLoader()
        return classLoader.parseClass(text, className).newInstance()
    }
}

private boolean containsStep(String stepName) {
    boolean result = false
    this.metaClass.methods.each {method ->
        if(method.name == stepName) {
            result = true
        }
    }

    return result
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy