Development

Building from source

  • Check out the sourcecode
    git checkout https://github.com/GeoDienstenCentrum/sass-maven-plugin/ sass-maven-plugin
  • build using Maven, skipping tests
    cd sass-maven-plugin
    mvn install -Dmaven.test.skip=true

Code Conventions

We use tabs.

Unit testing

Please provide a unit or integration test with your pull request if it's a non-trivial change.

Contributing

Please read the contributing document before submitting a pull request. You may be required to sign the Contributor License Agreement before your contribution is merged.

Building

Use the following command sequence to do a full build:

mvn clean install -Dmaven.test.skip=true -B -V -fae -q
mvn -e verify -B

The above will first install a copy of the plugin in your local maven repository so that it is available for running the integration tests of the second command. You may need to specify the -DWatchMojoTestSleeptime=30000 parameter (or provide that as an enviroment variable, eg. export WatchMojoTestSleeptime=60000) with a larger sleeptime for the watch test to pass.

Checkout the .travis.yml or the appveyor.yml for the latest on this.

Updating dependencies

Use the following commands to check for dependency (and plugin) updates:

run:

mvn -U org.codehaus.mojo:versions-maven-plugin:display-dependency-updates

to check for plugin updates and run:

mvn -U org.codehaus.mojo:versions-maven-plugin:display-plugin-updates

to check for plugin updates.

Creating a Release

Assuming the requirements for pushing to the OSRRH repository are set up, eg. account, gpg signature,... use the following commands:

mvn clean release:clean release:prepare
mvn release:perform

Note that the nexus-staging-maven-plugin may throw an exception Unhandled: Missing staging repository: nlgeodienstencentrum-... because we're deploying straight away.

Cleanup.

cd ../..
mvn release:clean clean

And lastly update the release notes and GH milestones etc. for the next release cycle.