Category Archives: Uncategorized

OSS process for open source java projects

This post is a list of my OSS process for open source java projects.

CI

for CI integrations, I use Travis CI, easy to set up and link to github. just add a .travis.yml with the content below and your done (I am using maven and provide a pom.xml). pushing to github will start the build.

language: java
jdk:
- oraclejdk8

Sonatype

I just list the steps. read this for more info : OSSRH Guide

  1. create a sonatype jira account and create a new project ticket. (it takes about two budiness days, but for my project, it was done in one day)
  2. create a pgp signature : dealing with PGP signatures
        1. download gpg from : https://www.gnupg.org/download/ (you’ll find binaries at the bottom of the page)
        2. in a command promp gpg 2–gen-key and answer the questions
        3. gpg2 –list-keys to list your keys
        4. publish your key  gpg2 –keyserver hkp://pool.sks-keyservers.net –send-keys XXXXXXX
  3. update your pom.xml to contain all the requirements
  4. login to https://oss.sonatype.org and get your account key (in your profile, access user account key
  5. add your user account key in your maven settings.xml (so that your password is not hardcoded.
  6. first release with  mvn clean deploy -P release if you have created a release profile in your pom.xml
  7. add a comment on your jira issue to activate the sync process to the Central Repository

Then Create a releases and Snapshots

Deploy Snapshots with

mvn clean deploy

snapshots will be liste here https://oss.sonatype.org/content/repositories/snapshots/

Release With

mvn versions:set -DnewVersion=x.x.x
mvn clean deploy -P release

to see if the release was accepted you can login to here oss.sonatype.org and check if you have sthg in your staging reprositories or searhc on your artifacts, or check here search.maven.org/

If you got git, you got CURL on windows

Always looking at having curl on windows.
Sure you could simply install it, but if you already have git installed, then you have curl.
It’s located here (of course depending on where you installed git) : C:\Program Files\Git\usr\bin on windows.

So I just create a bat file in C:\Program Files\curl-cmd and create a shortcut on your desktop for example and then use curl to play with some rest apis.

@echo off
set PATH=C:\Program Files\Git\usr\bin;%PATH%
color 17
echo.
echo. ____________________________
echo.
echo.   Play with curl
echo.   curl --help for more info
echo. ____________________________
echo.
echo.
cd c:\Temp
call cmd

for example access firebase api:

curl 'https://docs-examples.firebaseio.com/rest/saving-data/fireblog/posts.json?print=pretty'

Git clone from a repository with self signed certificate

These Are the step I performed to make it work. There is a lot on stack overflow on this, but I keep my own documentation.

More Info

This was done on a Windows 7 laptop from the command prompt as admin

  1. install the certificate in Local Machine / Personal
  2. – double click on it
    – click on install certificate...
    – select local Machine then Next
    – select Place all certificates in the following store
    – Browse… and choose Personal, then Next
    – click Finish

  3. enter the following in a command prompt
  4.          git -c http.sslVerify=false clone https://PATH_TO_YOUR_REPO/YOUR_REPO.git
    
  5. enter your user name and password.
  6. the go to your repo directory adn type
  7.          cd c:\YOUR_REPO
             git config http.sslVerify false