You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2006/11/16 03:39:49 UTC
svn commit: r475540 - in /geronimo/genesis/trunk/build-harness:
installdeps.groovy maven.groovy verify.groovy
Author: jdillon
Date: Wed Nov 15 18:39:48 2006
New Revision: 475540
URL: http://svn.apache.org/viewvc?view=rev&rev=475540
Log:
More groovy muck to handle build automation, shell was too limiting
Added:
geronimo/genesis/trunk/build-harness/maven.groovy (with props)
geronimo/genesis/trunk/build-harness/verify.groovy (with props)
Modified:
geronimo/genesis/trunk/build-harness/installdeps.groovy
Modified: geronimo/genesis/trunk/build-harness/installdeps.groovy
URL: http://svn.apache.org/viewvc/geronimo/genesis/trunk/build-harness/installdeps.groovy?view=diff&rev=475540&r1=475539&r2=475540
==============================================================================
--- geronimo/genesis/trunk/build-harness/installdeps.groovy (original)
+++ geronimo/genesis/trunk/build-harness/installdeps.groovy Wed Nov 15 18:39:48 2006
@@ -67,7 +67,7 @@
}
}
- def main() {
+ def main(args) {
println "Installing dependencies..."
for (depdir in depsdir.listFiles()) {
@@ -76,4 +76,4 @@
}
}
-new InstallDependencies().main()
\ No newline at end of file
+new InstallDependencies().main(args)
\ No newline at end of file
Added: geronimo/genesis/trunk/build-harness/maven.groovy
URL: http://svn.apache.org/viewvc/geronimo/genesis/trunk/build-harness/maven.groovy?view=auto&rev=475540
==============================================================================
--- geronimo/genesis/trunk/build-harness/maven.groovy (added)
+++ geronimo/genesis/trunk/build-harness/maven.groovy Wed Nov 15 18:39:48 2006
@@ -0,0 +1,104 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache 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.apache.org/licenses/LICENSE-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.
+ */
+
+//
+// $Rev$ $Date$
+//
+
+class MavenBuilder
+{
+ def basedir = new File(".").getCanonicalFile()
+
+ def outdir = new File(basedir, "output")
+
+ def ant = new AntBuilder()
+
+ def javaHome = System.getenv("JAVA_HOME")
+
+ def MavenBuilder() {
+ // Enable emacs mode to disable [task] prefix on output
+ def p = ant.getAntProject()
+ p.getBuildListeners()[0].setEmacsMode(true)
+ }
+
+ def setJava(ver) {
+ def tmp = ver.replace(".", "_")
+ def dir = System.getenv("JAVA_HOME_${tmp}")
+ if (dir == null) {
+ throw new Exception("Unable to use Java ${ver}; missing JAVA_HOME_${tmp}")
+ }
+
+ this.javaHome = dir
+ }
+
+ def maven(pom, args) {
+ ant.exec(executable: "mvn", failonerror: true) {
+ arg(value: "--file")
+ arg(file: "${pom}")
+ arg(value: "-Doutput.dir=${outdir}")
+
+ args.each {
+ arg(value: "${it}")
+ }
+
+ env(key: "JAVA_HOME", file: javaHome)
+ }
+ }
+
+ def main(args) {
+ def iter = args.toList().iterator()
+ args = []
+ def pom
+
+ while (iter.hasNext()) {
+ def arg = iter.next()
+
+ println arg
+
+ switch (arg) {
+ case '--java':
+ setJava(iter.next())
+ break
+
+ case '---':
+ while (iter.hasNext()) {
+ args.add(iter.next())
+ }
+ break
+
+ case ~"-.*":
+ args.add(arg)
+ break
+
+ default:
+ if (pom != null) {
+ throw new Exception("Unexpected argument: ${arg}")
+ }
+ pom = new File(arg)
+ }
+ }
+
+ println "Pom: ${pom}"
+ println "Args: ${args}"
+
+ // maven(pom, args)
+ }
+}
+
+new MavenBuilder().main(args)
Propchange: geronimo/genesis/trunk/build-harness/maven.groovy
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/genesis/trunk/build-harness/maven.groovy
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/genesis/trunk/build-harness/maven.groovy
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/genesis/trunk/build-harness/verify.groovy
URL: http://svn.apache.org/viewvc/geronimo/genesis/trunk/build-harness/verify.groovy?view=auto&rev=475540
==============================================================================
--- geronimo/genesis/trunk/build-harness/verify.groovy (added)
+++ geronimo/genesis/trunk/build-harness/verify.groovy Wed Nov 15 18:39:48 2006
@@ -0,0 +1,62 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache 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.apache.org/licenses/LICENSE-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.
+ */
+
+//
+// $Rev$ $Date$
+//
+
+class VerifyOutputs
+{
+ def basedir = new File(".").getCanonicalFile()
+
+ def outdir = new File(basedir, "output")
+
+ def ant = new AntBuilder()
+
+ def verifyOutput(dir) {
+ println "Verifying output from: ${dir}"
+
+ def scanner = ant.fileScanner {
+ fileset(dir: dir) {
+ include(name: "**")
+ }
+ }
+
+ def l = dir.path.length() + 1
+ scanner.each { file ->
+ def path = file.getPath()[l .. -1]
+ println " ${path}"
+ }
+ }
+
+ def main(args) {
+ println "Verifying outputs..."
+
+ if (outdir.exists()) {
+ for (dir in outdir.listFiles()) {
+ verifyOutput(dir)
+ }
+ }
+ else {
+ println "No output artifacts found"
+ }
+ }
+}
+
+new VerifyOutputs().main(args)
Propchange: geronimo/genesis/trunk/build-harness/verify.groovy
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/genesis/trunk/build-harness/verify.groovy
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/genesis/trunk/build-harness/verify.groovy
------------------------------------------------------------------------------
svn:mime-type = text/plain