Anyone who actually got Tycho to work? - continuous-integration

I'm trying to get Tycho working with m2eclipse. Problem is that all I find are outdated sites and old versions to download. I've found my way to http://github.com/sonatype/sonatype-tycho and downloaded the source. Problem is that the guide at https://docs.sonatype.org/display/TYCHO/BuildingTycho isn't of much help. When trying to build I run into an error message saying I'm using invalid syntax..... And there seems to be nowhere to ask for further guidance.
So are there anyone out there who actually got this working? Or got a better alternative for continuous integration / automatic build solution for eclipse plug-ins?

Tycho is a maven plugin, so you don't need to download it, just declare it in your pom.xml files.
See http://github.com/sonatype/sonatype-tycho/tree/master/tycho-its/projects/tycho001/ for details of a simple project.

This hint from Igor Fedorenko helped me to get it running:
https://issues.sonatype.org/browse/MNGECLIPSE-2140?focusedCommentId=115527&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_115527
If you are not pressed for time, I'd suggest to wait for the upcoming Update of m2eclipse, though. It was recently announced to follow shortly after Maven 3 release.

Robert, it does work for me as long as you don't try to build an Eclipse application. I have integrated it into CruiseControl and I am quite happy with building and testing plugins.
The main trick for me was to ignore all the P2/target stuff. I couldn't get it to work at all. Instead I call maven with an parameter that points to the Eclipse installation like this:
mvn -Dtycho.targetPlatform=C:\Programmer\eclipse
These are the necessary Plugin definitions:
<plugins>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-maven-plugin</artifactId>
<version>${tycho-version}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
Current Tycho Version is 0.13.0.
I would like to build Eclipse Applications but need support myself for that.
I hope that helps.
Cheers,
Klaus

I had trouble with Tycho for a while until I realized it required Maven 3. If you're running Maven 2 it won't work.

Related

Validation Plugin

I want to learn how to add validation plugin at Jira so I am following https://developer.atlassian.com/server/jira/platform/creating-workflow-extensions/? tutorials part 3. When step 3.1 I faced build failure error could anybody help me
TY
Osman
https://pasteboard.co/IgUNSjj.png
Can you update your atlassian SDK to the latest version and also change the maven-jira-plugin to jira-maven-plugin for the plugin
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>jira-maven-plugin</artifactId>
<version>${amps.version}</version>
At the time of writing this answer, put the value of amps.version to 8.0.0 after upgrading your SDK.
I hope this helps you.

Does maven-release-plugin also do what maven-compiler-plugin does?

In project pom.xml is it required to include both maven-release-plugin and maven-compiler-plugin? The reason I want the release plugin is because I want to release the project at the end of a sprint/release. I understand that the compiler plugin will compile the source code, however I am not sure if the release plugin will also compile the source code, apart from updating the pom and checking out/in to scm.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>2.2.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Any help with this is much appreciated.
If unspecified, Maven will know what to do when it needs to compile the code. However, in order to be able to control things like source and target versions, you will need to have a declaration of the maven-compiler-plugin.
It is generally good practice, to explicitly define the plugins you are using, along with their configurations and above all their versions, so that you have a guarantee of what was working.
What the Maven Release Plugin does is described here.
Your question is about the bullet "Run the project tests against the modified POMs to confirm everything is in working order". There is not that much magic here. What happens is that the maven-release-plugin will start a new Maven session. It will execute "mvn verify" in the same folder where you ran "mvn release:prepare".
All the steps done by the maven-release-plugin could also be done by hand, but that's asking for mistakes.

Bootstrap, LESS and Maven plugin

I'm looking for some information on how to get LESS compiling Bootstrap using the Maven plugin. I need to compile bootstrap with my less because I use bootstrap less in my files. Right now I have the maven plugin compiling less files into css, but it breaks when I try to get it to compile bootstrap less. I think this might be a version issue, but just want to know if anyone's been able to figure this out or has a better approach.
pom.xml
<plugin>
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.3.3</version>
<configuration>
<sourceDirectory>${project.basedir}/src/main/webapp/less</sourceDirectory>
<outputDirectory>${project.build.directory}/${project.build.finalName}/css</outputDirectory>
<compress>true</compress>
<includes>
<include>bootstrap/bootstrap.less</include>
<include>test.less</include>
</includes>
<force>true</force>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
I running the above in a run configuration that calls "clean lesscss:compile"
error
Failed to execute goal org.codehaus.mojo:lesscss-maven-plugin:1.0-beta-3:compile (default-cli) on project FastTest: Error while compiling LESS source: bootstrap\alerts.less: Syntax Error on line 57: [object Object] (compile.js#1) -> [Help 1]
I'm not sure why it's going after the first item in the list for bootstrap so I renamed bootstrap.less to see if it ran and this is what I got:
Failed to execute goal org.codehaus.mojo:lesscss-maven-plugin:1.0-beta-3:compile (default-cli) on project FastTest: Error while compiling LESS source: bootstrap\abootstrap.less: Syntax Error on line 686: [object Object] (compile.js#1) -> [Help 1]
You are not compiling your code with correct plugin.
You are defining:
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.3.3</version>
But from output it is obvious that a different plugin was triggered:
org.codehaus.mojo:lesscss-maven-plugin:1.0-beta-3
Seems a newer version of less is required for the maven plugin since bootstrap uses features that require less version 1.4.0
Your plugin-version issue notwithstanding, you can override the compiler being used by the Maven Plugin...
Download the latest lesscss JS file from lesscss.org, and put it in your project's scripts/js folder, then add a lessJs node into your plugin's configuration:
<configuration>
<lessJs>${project.basedir}/.../less.?.?.?.min.js</lessJs>
...
</configuration>
Now the plugin will use the JS file to compile, instead of it's own built-in, often outdated compiler.
I think the latest JS release is now 1.6.3.
Hope this helps!
Tze
If you are using the newest version of Bootstrap you will need Less 1.6.x to compile the Less files.
See http://blog.getbootstrap.com/2014/01/30/bootstrap-3-1-0-released/ that writes:
We've switched from Recess to grunt-contrib-less for our compiler, giving us access to Less 1.6.x (as opposed to 1.3.x with Recess).
The official Less Maven Plugin org.lesscss:lesscss-maven-plugin that you use does currently only support Less 1.3 and is not actively maintained at the moment. But I released a fork of it to Maven Central yesterday that supports Less 1.6.1 and contains other open pull requests from the plugin.
It is de.sandroboehme.lesscss:lesscss-maven-plugin:1.6.1.1.0 from https://github.com/sandroboehme/lesscss-java. Using it could solve your problem.
BTW: If somebody happens to be interested, contributers are wanted for the official Maven plugin. See https://github.com/marceloverdijk/lesscss-maven-plugin/issues/39
In the mean time I would use the Frontend Maven Plugin. See
https://github.com/eirslett/frontend-maven-plugin

Maven Cobertura + Maven War Plugins

I'm with a trouble with these plugins, got the following exception:
[INFO] Error configuring: org.apache.maven.plugins:maven-war-plugin. Reason: ERROR: Cannot override read-only parameter: classesDirectory in goal: war:exploded
I also found this issue on JIRA, thats unresolved.
Anyway, I'll like too much to see it working. Anyone know another plugin to do this, or a workaround to made it work?
Thank in advance.
[EDIT]
I added the Cobertura plugin in my parent pom project, like this:
<reporting>
<plugins>
[...]
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
</plugin>
</plugins>
</reporting>
And them when I run "mvn site", I got the exception as I said before.
About the JIRA issue, I accidentaly paste the wrong link, sorry. Its updated now.
BTW: I've tried the workaround describe in this issue, without success.

Maven: No marketplace entries found to handle castor, antrun, and ear plugins

I am importing a maven project into Eclipse. I have the m2e plugin installed and it is pointing to maven 2.2.1 on my machine.
I am getting these three errors:
No marketplace entries found to handle castor-maven-plugin:1.0:generate in Eclipse
No marketplace entries found to handle maven-antrun-plugin:1.1:run in Eclipse
No marketplace entries found to handle maven-ear-plugin:2.3.1:generate-application-xml in Eclipse
Any resources provided would be greatly appreciated.
Thanks
You can define custom build life cycle mapping for those plugins and make m2eclipse execute certain goals during Eclipse build.
This thread, https://bugs.eclipse.org/bugs/show_bug.cgi?id=350414, contains a discussion and ultimately a patch to make eclipse capable of ignoring the connectors it can't find.
Most people on the thread find the m2e's demand for custom build life cycle mapping problematic.
I faced this issue and I resolved this by enclosing the within the . Here is the example.
<build>
<pluginManagement>
<plugins>
<plugin>
....
</plugin>
</plugins>
</pluginManagement>
</build>
Reference: Link

Resources