You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Magnus Rundberget edited this page Jun 18, 2014
·
1 revision
Contributions to the LightTable-Groovy plugin is most welcome. This page outlines some guidelines for contributing.
Do check out the issue list and feel free to submit issues for discussion before starting anything substantial :)
Getting Started
Fork the repository
Clone your fork to $LightTablePluginDir/Groovy
Create a branch for your feature/change/fix
Do your stuff
Submit pull request (if working on an existing github issue, feel free to tag your commits with the issue number)
Up and running with the latest stuff
Pull/fetch latest from upstream
Run $Groovy:> ./gradlew clean build deploy - This will build the groovy server, create an uberjar and deploys that to $LightTablePluginDir/Groovy/lib
In LightTable:
Add $LightTablePluginDir/Groovy to your workspace
Open one of the cljs files under $LightTablePluginDir/Groovy/src/lt/plugin
Save file and do ctrl/cmd shift enter (evaluate file)
When prompted for connection select Light Table UI
You should now be able to run with the latest and greatest
Do/Don't for pull requests
Please don't commit the compiled js files (groovy_compiled.js and groovy_compiled.js.map). These files should only be committed with releases (which currently only I will be doing)
Please don't commit lib/ltgroovy.jar, again this should only be committed with releases.
Please do rebase with upstream/master before submitting your pull request. Makes merging so much easier !
For groovy related fixes/changes/features, there should be tests whenever that's feasible. For the Light Table specific plugin code I haven't figured out a nice test regime as of yet.
At some point in the near future we should figure out a nice way to avoid having ltgroovy.jar in the github repo all together. It's not ideal to have binaries in the repo. Clever ideas are welcome !
Gradle model stuff
You might want to implement a feature/fix that requires changes to info retrieved from a gradle project. The Light Table Groovy plugin uses a custom gradle plugin for retrieving some of that info. Changes to that plugin can be done in that github project: Generic Gradle Model. Again; Fork and pull requests on that project.