Friday, February 10, 2012

New home for Derquinse Commons API documentation

One of the main issues in Derquinse Commons is the lack of documentation,  including the lack of a stable home for the Javadoc-generated documentation.

From now on, and thanks to the wonderful GitHub pages service, you can find the API docs at http://apis.derquinse.net/derquinse-common.

Non-API docs are still missing, and I hope to be able to write some soon.

Saturday, January 21, 2012

Derquinse Commons now in Maven Central

One if the best features in Maven is dependency management. Even with its known problems it is a great step forward and many other build systems reuse Maven's repository structure.

One of the essential parts of this vision is the Maven Central Repository, your one stop shop for most of the dependencies in your projects.

Publishing to Maven Central has always had its requirement set (you can find an updated list here), one of them being that the repository must be self-contained. That is, no artifact may depend on another artifact that is not part of the repository.

Back in 2008, when I started both derquinsej and lucis, this requirement was fulfilled with no problem and synchronization with Central was provided thanks to Sourceforge's SSH access.

However, as time passed, some projects such as Hibernate starting publishing its artifacts in external repositories and many other interesting projects were hosted in repositories different of Central, such as Java.net. So, for future projects Central Publishing was not an option and I prepared an external repository for my own projects.

Fortunately, the situation has improved a lot:

  • Now many interesting external repositories, such as JBoss and Java.net, are synchronized back in Central.
  • Central navigation and search has been enhanced.
  • Sonatype provides a repository for open source projects with the option of being published in Central. The process is very well documented and the response is fast and great (kudos to Juven Xu). 

So, from now on, you can find Derquinse Commons in Maven Central.
  


Thursday, January 12, 2012

Follow up to Maven Release Plugin version problems

In a previous post, I warned about some bugs that caused the Maven Release Plugin to generate wrong tag versions. While those bugs are still opened today, the real culprit was MRELEASE-697 which is fixed in version 2.2.1, which can be used safely.

Friday, December 9, 2011

Lucis upgraded to Lucene 3.5

Well, at last the jump was made, and based on the previous 2.9.x branch, the migration to Lucene 3.5 has been done with version 3.5.2 now available in central. Apart from the migration work, the most significant changes include:

  • Writer configuration suppliers, to deal with the fact that certain Lucene objects, such as merge policies, can't be shared.
  • Managed readers, not based on the new searcher manager, but integrated with the lucis store architecture.

Wednesday, September 21, 2011

A Lucis branch for Lucene 2.9.x

As a said in the previous entry, the upgrade to Lucene 3.x may take longer than expected, so to provide an evolution path, a branch based on Lucene 2.9.x has just been released (version 2.9.5, based on Lucene 2.9.4).

It is not a mere recompile. Use of deprecated methods has been removed and the new collectors has been put in use.

Friday, September 16, 2011

A Lucis update

After a too long period of inactivity at last we have a significant update to Lucis. The migration to Lucene 3.x has been put on hold to work on some more important changes (and I don't know if it will happen before the move to Lucis' successor project). So, to avoid confusion, version numbering has changed so that the first two numbers match those of the Lucene version used.

I have just released version 2.4.31 (should be in central soon), the main changes being:

  • Reindexing indexes can now hold a checkpoint.
  • Reindexing indexes can know decide to skip a run.
  • Cancellation policy for index services has been defined, using interruptions, providing graceful shutdowns. As always for all your java concurrency-related questions, go to the source.
  • It is know possible to use external executors.
  • Many more tests.
Also, as of this version, the javadoc is no longer uploaded to the repository, as it can be built from source, but the relevant parts are online for your reading convenience.

UPDATE: Already in Central.

Saturday, August 20, 2011

Stick to version 2.0 of Maven Release Plugin

As reflected on bugs MRELEASE-694 (related to MRELEASE-689 and MRELEASE-691), there are some problems generating the release version numbers (like maintaining SNAPSHOT). This may bite without notice if use non-interactive mode. These bugs are still open as of version 2.2.1.

It's a nice coincidence that because of another bug, the Maven Eclipse Plugin warns you if you use a Maven Release Plugin version other than 2.0 :)