Good Java Release Development Practices

I have a fairly simple open source Java project that I'm starting with. This process is new to me, I'm used to writing programs only for myself. What are some good practices to consider when releasing open source Java projects?

Here are some things I can think of, can you suggest others?

  • version control repository (what do you use to explain the relevant tags / branches? external README file?)
  • include open source license in code
  • includes pre-packaged executable JAR file including version number in file name
  • some kind of README file that explains the external dependencies needed to create / run the software (is there a general agreement on what file name and where to put it?)
  • the project’s web page, with a link to it in the source code and / or executable file, in case someone first receives the source code or executable file (and not through the corresponding web page).
+5
source share
7 answers

One thing you must do (because it's Java) is to generate Javadocs for your code. This means commenting on classes and methods using Javadoc notation to make reading easier for others.

+6
source

Maven . , , ... , Commons Apache Maven.

+5

, , " ". , , , , . (, 20 JAR- 20 ), , .

. - Mercurial Git. . , , .

. readme , , Maven , pom.xml JAR, . mandatory, optional, compiletime test. - Hibernate.

: Maven , ( ).

Documenation - JavaDoc: , javadocs:

 /**
  * Sets the cost
  * @param decimal cost 
  */
 public void setCost(BigDecimal decimal){

. :

 /**
  * Sets the cost, cost is in currency setted by #setCurrency. 
  * @param decimal cost, precision shoule be at least three places
  */
 public void setCost(BigDecimal decimal){

: Javadoc . - ( eclipse;)). , , - - " javadoc EntryPoint - ". javadocs, , , , .

Bugtracking. ( ) - . :

. , ..

Joel

. . , ant script, , maven, . !

. .

Wiki. ( ) , ( , , ").

+4
  • -. - , , .

  • . , 0% .

  • -, , . ( MediaWiki).

  • , , .. .

  • .

  • , , , , . . . , , , .

+3

MAVEN , /

Vulcan , , .

+1

, Maven , , , Maven, Maven, , Maven, . , .

: , OSGi bundles - , - .

( ) .

, :

  • ( bump , - )
  • Use an error tracking system if you can use it easily (Codehaus, dev.java.net, SourceForce, etc. all offer this)
  • Simple project wiki for documentation
  • Discussion mailing lists
+1
source

Generate ChangeLog from comments. Separately, create a release note explaining what you fixed / added to each version.

0
source

All Articles