- test
- package_repo
-default:
- before_script:
- - cd TempMavenTychoSnapshotWorkaround
- - mvn $MAVEN_CLI_OPTS clean # This is only temporary to resolve TYCHO 1.5.0-SNAPSHOT for the main build
- - cd ..
-
validate:
stage: validate
script:
<extension>
<groupId>org.eclipse.tycho.extras</groupId>
<artifactId>tycho-pomless</artifactId>
- <version>1.5.0-SNAPSHOT</version>
+ <version>1.5.0</version>
</extension>
</extensions>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>net.mograsim.tycho-download</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.m2e.core.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.m2e.core.maven2Nature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>net.mograsim</groupId>
- <artifactId>net.mograsim.tycho-download</artifactId>
- <version>1.0.0</version>
- <packaging>pom</packaging>
-
- <!-- THIS IS ONLY TEMPORARY TO RESOLVE AND DOWNLOAD THE TYCHO 1.5.0-SNAPSHOT
- FOR THE MAIN BUILD -->
-
- <pluginRepositories>
- <!-- currently necessary because we are using a SNAPSHOT build of tycho -->
- <pluginRepository>
- <id>tycho-snapshots</id>
- <url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- <updatePolicy>always</updatePolicy>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
-
- <build>
- <extensions>
- <extension>
- <groupId>org.eclipse.tycho.extras</groupId>
- <artifactId>tycho-pomless</artifactId>
- <version>1.5.0-SNAPSHOT</version>
- </extension>
- </extensions>
- </build>
-</project>
\ No newline at end of file
Note: After importing the projects, probably an automatic workspace build will start.
Wait for it to finish before continuing.
-## Do the Maven Tycho workaround:
-
-In the project explorer or package explorer, right-click on "net.mograsim.tycho-download",
-click on "Run As" -> "Maven clean" and wait for it to finish.
-
## Build the Update Site
1. In the project explorer or package explorer, right-click on "net.mograsim", click
on "Run As" -> "Maven build...".
-2. Next to "Goals", enter "clean verify"; click on "Run" and wait for it to finish
+2. Make sure to run Maven with JDK 11
+3. Next to "Goals", enter "clean verify"; click on "Run" and wait for it to finish
(this will take a while).
-3. Select all projects, right-click, and click on "Refresh".
+4. Select all projects, right-click, and click on "Refresh".
The update site now should be built and is located in net.mograsim.plugin.updatesite/target/repository.
In there you should see, among other files, a folder named "features", a folder named
- I recommend running `clean verify` or `verify`, this will do everything up to and
including the testing.
-Please note that Tycho 1.5.0 is not released yet, and thus requires a workaround.
-More information can be found under [Maven Core Extension Problems](#mceps).
-
## Challenges
Not everything is as simple as it seems at first glance.
-### Maven Core Extension Problems <a name="mceps"></a>
+### Maven Core Extension Problems
+
+Context: Tycho 1.5.0 was not released, and thus required a workaround.
+This Problem may appear again, maybe with a different core extension, so this section
+explains the problem, how to diagnose it and a fairly good workaround.
The Tycho extra `tycho-pomless` is a Maven core extension allows for simpler structure
and less redundancy. Maven core extensions must be available at [the central maven repository](http://repo.maven.apache.org/maven2/)
<changelist>-SNAPSHOT</changelist>
<!-- Environment -->
<java.version>11</java.version> <!-- currently unused -->
- <tycho.version>1.5.0-SNAPSHOT</tycho.version>
+ <tycho.version>1.5.0</tycho.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
- <pluginRepositories>
- <!-- currently necessary because we are using a SNAPSHOT build of tycho -->
- <pluginRepository>
- <id>tycho-snapshots</id>
- <url>https://repo.eclipse.org/content/repositories/tycho-snapshots/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
-
<!-- Not needed, as an explicit target definition is provided by releng/net.mograsim.target/
This provides a uniform configuration, and we don't get weird errors. -->
<!-- <repositories> <repository> <id>eclipse-release</id> <url>http://download.eclipse.org/releases/2019-06</url>