http://bugzilla.ecoinformatics.org/show_bug.cgi?id=4974
Christopher Brooks <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Hours Worked| |1.0 Status|NEW |RESOLVED Resolution| |WONTFIX --- Comment #1 from Christopher Brooks <[email protected]> 2012-01-11 10:59:50 PST --- d. hogan prompted me to look again at this bug. The initial issue was that cd build-area touch ../ptolemy/src/ptolemy/actor/parameters/ParameterPort.java ant run would fail to compile ParameterPort. It turns out that the bug occurs if ant update-ptolemy -Drev=stable is first run, followed by the touch and ant run. If ant update-ptolemy -Drev=head is run first, then the problem does not occur. Here's a complete example of the failure: ---start--- bash-3.2$ ant update-ptolemy -Drev=stable ant update-ptolemy -Drev=stable Buildfile: /Users/cxh/src/kepler/build-area/build.xml update-ptolemy: [update-ptolemy] svn update -r 62749 /Users/cxh/src/kepler/ptolemy/src [update-ptolemy] At revision 62749. [update-ptolemy] BUILD SUCCESSFUL Total time: 12 seconds bash-3.2$ ant force-ptolemy compile ant force-ptolemy compile Buildfile: /Users/cxh/src/kepler/build-area/build.xml force-ptolemy: compile: [echo] Note that you may need to run "ant force-ptolemy compile" to compile ptolemy. [compile] Compiling ptolemy... [compile] Compiling 1 source file to /Users/cxh/src/kepler/ptolemy/target/classes [compile] Compiling configuration-manager... [compile] Compiling module-manager... [compile] Compiling core... [compile] Compiling event-state... [compile] Compiling util... [compile] Compiling component-library... [compile] Compiling sms... [compile] Compiling data-handling... [compile] Compiling ssh... [compile] Compiling io... [compile] Compiling job... [compile] Compiling repository... [compile] Compiling authentication... [compile] Compiling module-manager-gui... [compile] Compiling gui... [compile] Compiling authentication-gui... [compile] Compiling ecogrid... [compile] Compiling dataturbine... [compile] Compiling opendap... [compile] Compiling actors... [compile] Compiling loader... [compile] Compiling r... [compile] Compiling apple-extensions... BUILD SUCCESSFUL Total time: 4 seconds bash-3.2$ touch ../ptolemy/src/ptolemy/actor/parameters/Parameter bash-3.2$ ant compile Buildfile: /Users/cxh/src/kepler/build-area/build.xml compile: [echo] Note that you may need to run "ant force-ptolemy compile" to compile ptolemy. [compile] Compiling configuration-manager... [compile] Compiling module-manager... [compile] Compiling core... [compile] Compiling event-state... [compile] Compiling util... [compile] Compiling component-library... [compile] Compiling sms... [compile] Compiling data-handling... [compile] Compiling ssh... [compile] Compiling io... [compile] Compiling job... [compile] Compiling repository... [compile] Compiling authentication... [compile] Compiling module-manager-gui... [compile] Compiling gui... [compile] Compiling authentication-gui... [compile] Compiling ecogrid... [compile] Compiling dataturbine... [compile] Compiling opendap... [compile] Compiling actors... [compile] Compiling loader... [compile] Compiling r... [compile] Compiling apple-extensions... BUILD SUCCESSFUL Total time: 0 seconds ---end--- In turns out that the Kepler build system uses kepler/ptolemy-head and kepler/.ptolemy-compiled to determine whether to compile ptolemy. kepler/build-area/src/org/kepler/build/modules/ModulesTask.java defines two fields: ptolemyCompiled = new File(basedir, ".ptolemy-compiled"); ptolemyHead = new File(basedir, "ptolemy-head"); In looking at the compile() method in build-area/src/org/kepler/build/CompileModules.java if (mn.equals(Module.PTOLEMY) || mn.matches(Module.PTOLEMY+"-\\d+\\.\\d+") || mn.matches(Module.PTOLEMY_KEPLER+"-\\d+\\.\\d+") || mn.startsWith(Module.PTOLEMY_FOR+"-")) { if (!this.ptolemyHead.exists()) { try { ptolemyCompiled.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } } If "ant update-ptolemy -Drev=stable" is run, then kepler/ptolemy-head is removed. If "ant compile" is then run, kepler/.ptolemy-compiled is created. The various ant targets interact with these files to determine whether to compile ptolemy. The bottom line is: If you use "ant update-ptolemy -Drev=stable", then ptolemy will not necessarily be automatically compiled for you. If you use "ant update-ptolemy -Drev=head", then ptolemy is more likely to be compiled for you. Fortunately, "ant compile" now produces a message alerting the user about this: [echo] Note that you may need to run "ant force-ptolemy compile" to compile ptolemy. So, even though there is a bug where the set of commands I used with the stable configuration failed to compile, we do warn about it now, so we can close this bug. See d. hogan's proposal for a fix to use dependencies at http://bugzilla.ecoinformatics.org/show_bug.cgi?id=5554 -- Configure bugmail: http://bugzilla.ecoinformatics.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA Contact for the bug. _______________________________________________ Kepler-dev mailing list [email protected] http://lists.nceas.ucsb.edu/kepler/mailman/listinfo/kepler-dev
