I wasn't able to find any Jenkins plugins for Mercurial code review. I've found separate plugins for Mercurial, but they don't seem to integrate with Jenkins.
Is there something like Gerrit but for Mercurial?
Gerrit's older brother, Rietveld (https://code.google.com/p/rietveld/) supports:
Mercurial (this is what you ask about)
Git
Subversion
Perforce
CVS
As far as I know, there is no Rietveld-Jenkins integration, but I believe it shouldn't be a big issue to add a such functionality to the tool. Rietveld provides basic, but sufficient API: https://code.google.com/p/rietveld/wiki/APIs which allows easy integration with Jenkins. Maybe not as feature rich like in the Gerrit case, but the basic functionality (gate-keeping) should be relatively easy to implement.
Related
I am creating an eclipse plugin with jgit implementation, thus I need a way to show the development history of a project. I guess I need to write the java code to add, commit and push to a repository from the eclipse plugin. How would I be able to do this? Searching the web has given limited help with this.
This sounds like you are considering some nice new git visualization features. Perhaps adding them to EGit would be best. EGit is already a consumer of the JGit library, so there should be lots of example code to look at.
The jgit-cookbook provides a number of ready to run snippets for many such tasks. And the sources of EGit will provide hints how things can be done in Eclipse plugins.
EGit is providing this already
How can I use code repositories in Eclipse? Should I use SVN or Mercurial? What way is easiest to use with Eclipse on a Mac. I tried to use Google Code (with SVN and Mercurial), but I need to get JavaHL for it to work. Is there an easier way?
Thanks!
How can I use code repositories in Eclipse?
It depends on the version control technology, but Eclipse has support for a number of technologies, via the "Team" user interfaces.
Should I use SVN or Mercurial?
Your choice. There are other version control technologies supported too; e.g. Git and CVS. Search in the Eclipse Marketplace.
You really need to do your own research on this, and figure out which one best matches your and your project's requirements. (SO is not a survey or recommendation site, so don't expect people to give you recommendations ...)
What way is easiest to use with Eclipse on a Mac.
Erm ... see above.
I tried to use Google Code (with SVN and Mercurial), but I need to get JavaHL for it to work. Is there an easier way?
Unfortunately, the SVN plugins for Eclipse require an implementation of the native JavaHL drivers:
For windows, the drivers are included when you install from the update service.
For other platforms, they are not. You can download them for free from Collabnet (after a signup song-and-dance). The installation and setup is non-trivial, but the process is well documented, and it works if you complete all of the steps as per the documentation. This is, IMO, a "poor user experience", but nobody seems to care enough to fix it. (Guys ... the word you are looking for is "compromise".)
The JavaHL libraries are only required by the SVN plugins. Other version control technologies don't require this.
I've been using subclipse for a while, and I think it is great enough for small projects.
You can try EGit if you are using git as your repository.
If you search for "Eclipse version control", you'll get many recommendations.
SVN (need to install the JavaHL library)
EGit (recommeded if you are using Git)
SourceAnywhere Standalone (provided by the company I'm working for)
Mercurial (MercurialEclipse)
You can test out the above tools to see which meets your requirements best.
I am practicing java in Eclipse both in home and college.
Is there any way that when i co the coding the file save on some server and syc there and then when i go to college then again i can use same file
You should look into using a distributed version control system like mercurial on bitbucket. The advantages of mercurial and bitbucket are really easy setup and unlimited private repositories (github doesn't offer this) which is perfect for course work and you get your stuff backed up on the cloud.
You need a revision control system. Take a look at the various plugins for Eclipse, like for example git or svn plugins.
What you need here is Revision control, but you will need to install it in a server you have access from both college and home. Maybe your college can provide you with some space or you might start a personal project in google code or gitHub. :)
I find CollabNet SubVersion Edge pretty Straightforward and easy to configure.
I have a standard Java application that handles both REST and UI calls. What is the best way for me to create and manage an application version (major.minor.release.build)? I'm using Subversion, Maven, Bamboo (continuous build) and Spring in the stack. I would like the version to be tied together with SVN, Bamboo and Maven. And, would like to be able to log version on start-up -- likely using some Spring bean.
There must be a framework/pattern out there to help with this. I'd rather not roll my own.
Thank you!
Why not use Semantic Versioning? It is what most people expect nowadays, it is pretty well defined and it is out there. Good enough for me.
Maven has a release plugin. This is a bear to setup first but once it is working it works well. It does all the nitty gritty of making sure everything is cleanly checked in, tagged properly, and does the magic with the version numbers. It is not a ask to look forward to, but at least now it is properly done. It pays to setup some maven repository. We use Nexus and can recommend that, but I heard good things of artifactory too.
During testing we do not rely on the maven version too much but on the build number, which we put in a discrete place on the web pages and similar artifacts so we can quickly determine which exact build we're talking about. We use hudson which provides the build number in an environment variable, but Bamboo must provide that too. The filter copy functionality makes that pretty straightforward.
Hudson tags the VCS (we use git, but that does not matter) with the build number and the maven release plugin tags the releases.
You can include the SCM revision number in your artifact using the maven build-number plugin (http://mojo.codehaus.org/buildnumber-maven-plugin/), e.g. in a filtered resource, such as a properties file.
If you are using Artifactory as your binary repo then it can also tag your binary artifacts with a build number and have full traceability from your artifact to the CI server build that created it. Currently this is supported with Hudson, TeamCity and Bamboo.
Buildix is a complete development server (by ThoughtWorks) for Continuous Integration
I'm looking for a pre-configured server with Maven, Subversion, Sonar, Nexus...
I just happened to read about SecureCI yesterday on The Build Doctor blog. Seems like just what you're asking for.
TeamCity is one of the best CI tools around, IMHO.