Hudson integration for Maven projects - maven-2

I have few maven projects.They have testNG test cases too.Tests run fine.Now I want to integrate the projects with Hudson for getting basic features such as subversion updates, test reports, sending email etc.Projects are built in java 1.5.What is the hudson compatible version for Java 1.5 and also gives the possibility to add maven 2 module, configure subversion.The version I downloaded had some java version issues.Then I replaces the jar which was causing issue but still could not configure the project for svn stuff.Please help me, is there a guide of step by step walk through...Thank you in advance

What is the hudson compatible version for Java 1.5 ?
As you have already figured out, the latest Hudson versions require Java 6. However, the Java JRE that Hudson runs on IS NOT the Java JRE/JDK that your project will use to compile, test, and package itself in Maven.
The version of Java Hudson uses to compile your project is an option you select in the Hudson UI (Manage Hudson). In fact, Hudson can compile and test your Maven project against multiple versions of Java if you wish.
This is a powerful capability of Hudson that is not immediately obvious. See the following screenshot for details:
So the bottom line is this: Use the latest version of Hudson (or Jenkins) and set the JDK installation to v1.5.

Related

IntelliJ Idea LanternaGriffon Doesn't Recognize Griffon Project

I just made my first Griffon project, using lazybones. I chose griffon-lanterna-groovy for my template, and I then removed pom.xml and maven/ as I will be using Gradle. I then run gradle build test run and everything looked good. (it ran, build succeeded, etc.)
Next, I opened the project in IntelliJ and I've tried this in a variety of ways. No matter what I do, it IntelliJ doesn't recognize that this is a Griffon project.
I am using the latest stable version of all these library's, and I'm using IntelliJ Idea Ultimate Edition. I'm to to lazybones, Griffon, and lanterna, so any help is appreciated.
Griffon 2.x applications are either regular Gradle or Maven projects, you do not need an specific Griffon IDE plugin. IntelliJ ships with a Griffon plugin that's only compatible with Griffon 1.x projects. Do not use this plugin.
Refer to http://griffon-framework.org/tutorials/1_getting_started.html#_tutorial_1_4

Source Control for Selenium Tests written in Java

In my company, I have plans to introduce Web Automation using Selenium WebDriver and Cucumber JVM using Maven builds.
Since the developers write their code in C#, they are all using TFS for source code repository and recommending the QA team also to use TFS to maintain my tests written in JAVA.
These are the questions I have got in my mind:
QA team will use IntelliJ IDE for writing Selenium tests in JAVA. Is IntelliJ compatible with TFS? Or is it a pain to configure it to work with TFS?
As we will move towards TDD very soon, we have to setup CI server as well.
Is it possible for me to run Selenium Tests triggered from TFS or do I need to use a separate CI server like Jenkins or Teamcity?
Does maven build work smoothly with TFS?
We have to adhere to stringent ISO guidelines for maintaining the source code. If I were to recommend source code repositories like github, can I ensure that the code is still secure? Is it difficult to setup the security in github?
Answering your questions regarding TFS:
IntelliJ IDEA supports TFS up to TFS 2015. Check:
Visual Studio Team Foundation Plugin for IntelliJ and Android Studio
Using TFS Integration
TFS supports CI build. After you've deployed a Windows build agent or an Xplat build agent, you are ready to define a CI build that compiles your Java app with Maven whenever your team checks in code.
Yes. Check:
Build your Java app with Maven

Mule and Gradle build tool

Questions:
1) Can I use Mule(3.7) application with Gradle, is it fully supported?
2) Continuous Integration runs with Gradle and Jenkins for other non Mule based applications in our organization, can I have local Maven build with Anypoint studio and CI with Gradle? Is there any issues with this kind of configuration, since Mule is well built with Maven build tool?
I have gone through the Gradle plugin for Mule here
Yes, you can use it but it is not a MuleSoft officially supported tool. Here is the link to the GitHub project. The problem with using two different build tools is that the configuration will probably get out of sync at some point. Anypoint Studio doesn't provide a very complete Maven support anyway, so you could just use Gradle and update Studio dependencies manually or try using an Eclipse Gradle plugin. This can still be out of sync, but will have to maintain only Gradle config.

Intellij Idea 12 gradle build

I am trying to build a project with gradle from within Intellij Idea 12 (commercial editon) but this keeps failing. I have the gradle plugin enabled and also the gradle gui plugin. The native project gradle import is working. (I'm not using gradle idea btw.)
When using the bash I only run gradle war to build my web application. Now I want to do the same from within Intellij.
The gradle gui plugin seems to be using the wrong JDK (I guess it's the one Idea uses, a 1.6 JDK) and therefor fails to compile because this is a JDK 1.7 project. And it doesn't integrate well into Idea because it seems like an external build process (like triggering external ant tasks).
What I have done so far is to configure my own artifact in a way that is equivalent to the one gradle war would have build. But that means a lot of configuration and simply feels wrong. There should be a better way?
So what do I have to do to make Idea compile a project in a way similar to the command line gradle task?
JetGradle plugin doesn't provide native tasks support at the moment. It's scheduled for v.12.1 - IDEA-95897. Feel free to track the plugin's news and update it manually as soon as corresponding support is provided.

Make sure your Plugin runs with Eclipse 3.4 when compiling with 3.5

I am developing an Eclipse Plugin and want most of the features to be compatible with Eclipse 3.4.
Until now that was no problem because we could just use eclipse 3.4 in the build process, so compiler errors would be found easily.
Now we have a new feature that requires eclipse 3.5 and we cannot use 3.4 for the build any longer but have to use 3.5 at least. The problem now is that we dont know if the old features are still compatible with eclipse 3.4. (at least not by automatic build)
Is there any smart solution to this problem? Make sure some of the plugin features are compatible with eclipse 3.4 and some with 3.5? Preferably a solution that can be automated and added to the build process.
Build your 3.5 plugins with a 3.4 target. Then you'll see which problems ouccurs :).
After you have identified your bundles which are using new features only avialable in 3.5 set in your MANIFEST.MF the version number of the dependeny to the used version in 3.5, so that resolving the dependencies of your bundles in a 3.4 target will fail.
In general I would recommend that you should setup your target you're building against in your IDE, to get notified about possible problems while you're writing the code, not when building your plugins.
To make a bundle plugin runnable in a 3.4 and in 3.5 with the new features there will be no easy solution, the probably easiest way is to split the bundle and isolate the 3.5 features in a new bundle, so that your plugins can also be run in a 3.4 environment.
In addition to toms' answer, I would recommend that you run your test suite during a headless build against a 3.5 eclipse as well as a 3.4 eclipse.
The way that we do this in our own shop is this, with 4 automated build jobs:
Build the product against a 3.5 target eclipse
Run the tests on the 3.5 target
Build the product against a 3.4 target eclipse
Run the tests on the 3.4 target
If the 3.5 target fails, then we don't build a 3.4 target. (Of course, in our case, we are doing 3.6 and 3.5 (and starting to introduce 3.7)).