Ecoinformatics Redmine: Issueshttps://projects.ecoinformatics.org/ecoinfo/https://projects.ecoinformatics.org/ecoinfo/ecoinfo/favicon.ico?14691340362012-02-27T23:00:39ZEcoinformatics Redmine
Redmine Kepler - Bug #5578 (Resolved): Add DiffModules with build-areahttps://projects.ecoinformatics.org/ecoinfo/issues/55782012-02-27T23:00:39Zdhogan dhogand.hogan@ge.com
<p>StatusModules excludes build-area because it isn't in modules.txt. It would be helpful to include build-area in 'ant status' so you can see all of the changes.</p>
<p>This patch adds build-area to StatusModules and adds DiffModules.</p> Kepler - Bug #5558 (New): Add kepler-tasks target to build.xml and use depend in kepler-tasks.xmlhttps://projects.ecoinformatics.org/ecoinfo/issues/55582011-11-30T15:52:32Zdhogan dhogand.hogan@ge.com
<p>The attached patch adds a new target, kepler-tasks, to run 'ant -f kepler-tasks.xml'. It also uses depend to avoid forcing a clean before recompiling.</p> Kepler - Bug #5557 (New): Replace hardcoded path separator with File.pathSeparatorhttps://projects.ecoinformatics.org/ecoinfo/issues/55572011-11-29T19:58:29Zdhogan dhogand.hogan@ge.com
<p>The org.kepler.build.project.Classpath class uses ":" rather than File.pathSeparator. It will display incorrectly on Windows without the fix.</p> Kepler - Bug #5556 (New): Add key bind to GUI to avoid connecting edge prematurelyhttps://projects.ecoinformatics.org/ecoinfo/issues/55562011-11-29T17:43:43Zdhogan dhogand.hogan@ge.com
<p>It would be really nice if Diva had some key bind to allow you to avoid connections. A common use case would be when you have actors on opposite ends of the canvas that you need to connect. Without a bind, Diva will try to connect at nearly every edge it encounters. With a bind, you could tell Diva to not attempt connections until you release the bind.</p> Kepler - Bug #5555 (New): Add reverse index in ArrayElementhttps://projects.ecoinformatics.org/ecoinfo/issues/55552011-11-29T17:25:46Zdhogan dhogand.hogan@ge.com
<p>Trivial enhancement to add reverse index to ArrayElement in Ptolemy.</p> Kepler - Bug #5554 (In Progress): Build system doesn't recompile using dependencies by defaulthttps://projects.ecoinformatics.org/ecoinfo/issues/55542011-11-28T22:58:15Zdhogan dhogand.hogan@ge.com
<p>The build system is using the Javac task's default dependency mechanism which checks mtimes of source code vs. class files. This misses a lot of dependencies. For instance, if you update an interface, it won't recompile all of the classes that implement that interface. It also doesn't recompile any references to the class from other files.</p>
<p>Ant has an optional task, Depend, which handles most of these dependency problems. It parses the class files to build a set of dependencies. It will delete stale class files so that javac recompiles them.</p>
<p>This is a partial solution for the part that I need, CompileModules. This could be used anywhere Javac is called. I set it up by default to disable the extra dependency checking. Edit settings/build-properties.xml to turn it on.</p>
<p>Without this patch, I have to remove <module>/target/classes periodically since it doesn't catch when I need to recompile properly.</p>
<p>Example: Touch RConsole which is referenced by RExpression2.</p>
<p>Without the patch:<br />$ touch ../r/src/org/ecoinformatics/seek/R/RConsole.java<br />$ ant compile<br />...<br /> [compile] Compiling r...<br /> [compile] Compiling 1 source file to ...</p>
<p>With the patch (and set depend = true in settings/build-properties.xml):<br />$ touch ../r/src/org/ecoinformatics/seek/R/RConsole.java<br />$ ant compile<br />...<br /> [compile] Deleted 2 out of date files in 0 seconds<br /> [compile] Compiling 2 source files to ...</p>
<p>If you ran with the patch and depend=true, it should have created ./depcache/<module>/dependencies.txt. Depend uses that information to determine which class files to delete.</p>
<p>I tested this with ant 1.7.0.</p>
<p>It should recompile both files and not just RConsole:</p>
<p>$ grep RConsole ../r/src/org/ecoinformatics/seek/R/* | sed -e 's/.*\///'<br />RConsole.java:public class RConsole implements RMainLoopCallbacks {<br />RConsole.java: public RConsole() {<br />RExpression2.java: private RConsole console = null;<br />RExpression2.java: console = new RConsole();<br />RExpression2.java: console = new RConsole();</p>