Follow these instructions once to setup your project and then you can delete this file.
Create a new repository on GitHub.
⚠️ Do not initialize the repository with a README, .gitignore or license.
Once you have created the remote repository, copy the URL.
Now initialise the git repository locally:
cd sbt-turtles
git init
git add .
git commit -m "Generate plugin from template"
git remote add origin [email protected]:BotTech/sbt-turtles.git
git push -u origin master
Continuous integration builds are done with Travis CI.
Head over to your Travis CI organization profile and enable the build on this project.
ℹ️ You may need to sync the account if the project does not appear in the list.
Follow the instructions on sbt-gpg - Travis CI with the BotTech/sbt-gpg plugin.
set pgpReadOnly := false
pgp-cmd gen-key
We will use the Travis CLI to encrypt all the secrets to be used in the build.
Go to GitHub and create a Personal access token with the following scopes:
user:email
read:org
repo_deployment
repo:status
write:repo_hook
See Travis CI for open source projects on what these scopes are used for.
Save the token somewhere safe as you will need it to login to the Travis CLI and if you forget it you will need to generate a new one.
Next encrypt the GPG secret key using the instructions on encrypting files.
Install the Travis CLI:
gem install travis
Login using the GitHub Token:
travis login -g YOUR_GITHUB_TOKEN
Encrypt the secret key:
travis encrypt-file travis/secring.asc
Add the output to the before_deploy
section of the .travis.yml
file.
The paths should be relative to the travis
directory. For example:
before_deploy:
- openssl aes-256-cbc -K $encrypted_12345abcdef -iv $encrypted_12345abcdef -in travis/key.asc.enc -out travis/key.asc -d
Move the encrypted secret key:
mv secring.asc.enc travis/
Delete the unencrypted secret key:
rm travis/secring.asc
Now encrypt the GPG passphrase using the instructions on encryption keys.
travis encrypt
PGP_PASS=YOUR_PGP_PASSPHRASE
Add the output to the env.global
section of the .travis.yml
file.
Create an OSS Bintray account.
Add a new repository:
- Public
- Name:
sbt-plugins
- Type:
Generic
Go to your profile on Bintray and copy your API key and encrypt it.
travis encrypt
BINTRAY_PASS=YOUR_BINTRAY_API_KEY
Add the output to the env.global
section of the .travis.yml
file.
Also add your Bintray user name to the BINTRAY_USER
environment variable.
ohnosequences/sbt-github-release is used to publish the artifacts to GitHub.
Generate a separate GitHub token for use in the build which has the following scopes:
public_repo
See Authenticating with an OAuth token for the details.
Now encrypt the token:
travis encrypt
GITHUB_TOKEN=YOUR_GITHUB_TOKEN
Add the output to the env.global
section of the .travis.yml
file.
Follow the instructions on BotTech/sbt-gpg to setup the GnuPG key and passphrase.
- Include your plugin in the community sbt repository.
- Add your plugin to the community plugins list.
- Add your plugin to the Awesome Scala list.
- [Claim your project][Scaladex Claim Your Project] in the Scaladex.