Closed nathandunn closed 8 years ago
Some of the make stuff can use gradle commandLine or you can just call the ant task from within gradle if that makes sense.
Highly unlikely that this will work, but probably worth looking into it as a gradle plugin.
Also, just running the closure compiler for java via gradle: https://github.com/eriwen/gradle-js-plugin#minifyjs-uses-the-google-closure-compiler (the other one insisted the code was in main/src/)
JBrowse/dojo has their own build scripts which compiles jbrowse itself and the plugins (anything in the plugin folder) so it isn't necessary to integrate any external minimizers or anything. The build.gradle is cool and could probably be tweaked to make it work with release build though
That said, I am actually not really in favor of "managing" the plugin installations from github. Moving towards bower or something for installs is IMO probably a good option. Bower can install straight from github for example, probably much easier to use too
If https://github.com/gmod/jbrowse/pull/333 was complete, then it might be as easy as saying
bower install https://github.com/gmod/jbrowse@1.12.1
Or something similar
Bower can install straight from github for example, probably much easier to use too
and it caches clones and plays nice with the github servers . . .
WRT to the minification . . . I think that you might have to redo what is done in the makefile in gradle, but I am not certain.
Currently there is a warning
Defining custom 'build' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0 Defining custom 'clean' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
I think those tasks come from the ant build, instead of the gradle one. It might be good to get rid of the ant part of the build entirely
Yes, it would be good to move away from ant entirely. I think it should be fine to have in there for the time-being, though, but we definitely want to move tasks out of ant a little by little as we go.
On Mar 31, 2016, at 10:52 AM, Colin Diesh notifications@github.com wrote:
Currently there is a warning
Defining custom 'build' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0 Defining custom 'clean' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
I think those tasks come from the ant build, instead of the gradle one. It might be good to get rid of the ant part of the build entirely
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/GMOD/Apollo/issues/941#issuecomment-204051461
Just an FYI, the default (with 1.9+) is to include the sourcemaps when doing the build. I see that they are produced during the minification build steps, but then must not be copied over.
For a pre-built system I get this error:
nathandunn:nathanApolloMaster% ./apollo release
Starting a new Gradle Daemon for this build (subsequent builds will be faster).
Defining custom 'build' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
Defining custom 'clean' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
final JBrowse settings [git:[url:https://github.com/GMOD/jbrowse, branch:master, alwaysPull:true, alwaysRecheck:true], plugins:[WebApollo:[included:true], NeatHTMLFeatures:[included:true], NeatCanvasFeatures:[included:true], RegexSequenceSearch:[included:true], HideTrackLabels:[included:true]]]
final plugins [WebApollo:[included:true], NeatHTMLFeatures:[included:true], NeatCanvasFeatures:[included:true], RegexSequenceSearch:[included:true], HideTrackLabels:[included:true]]
Copying apollo plugin
handling jbrowse release [git:[url:https://github.com/GMOD/jbrowse, branch:master, alwaysPull:true, alwaysRecheck:true], plugins:[WebApollo:[included:true], NeatHTMLFeatures:[included:true], NeatCanvasFeatures:[included:true], RegexSequenceSearch:[included:true], HideTrackLabels:[included:true]]]
handling jbrowse [git:[url:https://github.com/GMOD/jbrowse, branch:master, alwaysPull:true, alwaysRecheck:true], plugins:[WebApollo:[included:true], NeatHTMLFeatures:[included:true], NeatCanvasFeatures:[included:true], RegexSequenceSearch:[included:true], HideTrackLabels:[included:true]]]
:clean-grails
:clean-grailsw
:clean
:clean-all
:cloneJBrowse
:copy.apollo.plugin.jbrowse
[ant:echo] copying plugin to jbrowse git ...
:build.jbrowse
[ant:exec] Result: 1
:install.jbrowse.perl
:release FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':release'.
> Warning: Could not find file /Users/nathandunn/repositories/nathanApolloMaster/jbrowse-download/JBrowse-dev.zip to copy.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 10 mins 55.387 secs
***************************************
NOTE: Please set the memory for your servlet container (tomcat, jetty, etc.) or Apollo may not start correctly: http://webapollo.readthedocs.org/en/latest/Troubleshooting.html#tomcat-memory
***************************************
Trying it on a non pre-built system next (i.e., a fresh download) .. similar:
nathandunn:Apollo% ./apollo release
cp: apollo-config.groovy: No such file or directory
Defining custom 'build' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
Defining custom 'clean' task when using the standard Gradle lifecycle plugins has been deprecated and is scheduled to be removed in Gradle 3.0
No log file found in classpath.
final JBrowse settings [git:[url:https://github.com/GMOD/jbrowse, branch:master, alwaysPull:true, alwaysRecheck:true], plugins:[WebApollo:[included:true], NeatHTMLFeatures:[included:true], NeatCanvasFeatures:[included:true], RegexSequenceSearch:[included:true], HideTrackLabels:[included:true]]]
final plugins [WebApollo:[included:true], NeatHTMLFeatures:[included:true], NeatCanvasFeatures:[included:true], RegexSequenceSearch:[included:true], HideTrackLabels:[included:true]]
Copying apollo plugin
handling jbrowse release [git:[url:https://github.com/GMOD/jbrowse, branch:master, alwaysPull:true, alwaysRecheck:true], plugins:[WebApollo:[included:true], NeatHTMLFeatures:[included:true], NeatCanvasFeatures:[included:true], RegexSequenceSearch:[included:true], HideTrackLabels:[included:true]]]
handling jbrowse [git:[url:https://github.com/GMOD/jbrowse, branch:master, alwaysPull:true, alwaysRecheck:true], plugins:[WebApollo:[included:true], NeatHTMLFeatures:[included:true], NeatCanvasFeatures:[included:true], RegexSequenceSearch:[included:true], HideTrackLabels:[included:true]]]
:clean-grails
:clean-grailsw
:clean
:clean-all
:cloneJBrowse
:copy.apollo.plugin.jbrowse
[ant:echo] copying plugin to jbrowse git ...
:build.jbrowse
[ant:exec] Result: 2
:install.jbrowse.perl
:release FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':release'.
> Warning: Could not find file /Users/nathandunn/repositories/bower_components/Apollo/jbrowse-download/JBrowse-dev.zip to copy.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 36.492 secs
***************************************
NOTE: Please set the memory for your servlet container (tomcat, jetty, etc.) or Apollo may not start correctly: http://webapollo.readthedocs.org/en/latest/Troubleshooting.html#tomcat-memory
***************************************
I had gotten similar errors before moving to gradle. I'm not sure why it works some times and not others.
I think this is because the name of the code that is built in src/JBrowse/package.json became "1.x.x" instead of "dev". We should probably run the build in a test. It should also just manually set the release version in the build command so that it doesn't have this dependency, e.g. "RELEASE_VERSION=1.12.1 make -f build/Makefile release-notest"
I think that sounds good. One of the reasons for using gradle is that it uses groovy and can read anything off of the Config.groovy or apollo-config.groovy file (see build.gradle::evaluateJBrowseConfigs). Running in a test would be great.
I support optional plugins with #935 . . I need to work on getting it to do the same with "release". Right now the target does the same as it did before. However, apollo deploy and run-local integrate with plugin install code correctly now, so it should just be matching that pattern in the proper order.