Hi,
hope this is the right place for some Minerva issues as I haven't
found any Minerva-specific lists.
I am currently 'minerva-fying' my little Eclipse Plugin (
http://sourceforge.net/projects/avr-eclipse/ ) and the "java.lang.RuntimeException:
Bundle org.aniszczyk.minerva.tests.ui is not found" issue had
me pulling out my hair for almost two days until I found the
culprit:
In the file org.aniszczyk.minerva.tests.ui/META-INF/MANIFEST.MF
in the line
Fragment-Host: org.aniszczyk.minerva.tests.core;bundle-version="1.0.0.qualifier"
the ".qualifier" ending was causing the fail. Removing
".qualifier" and the UI Tests works, almost, as now SWTBot was
barfing due to no tests to run.
Adding an empty test method
@Test
public void someTest() {
// Do nothing (for now)
}
to org.aniszczyk.minerva.tests.ui/src/org/aniszczyk/minerva/tests/ui/SimpleUITestCase.java
fixed that and my Minerva build was finally successful.
Now log4j still complaints that the log4j system is not properly
initialized but that does not break the build. AFAIK log4j wants
to have a log4j.xml or log4j.properties file in the classpath, but
I have not looked into this yet.
BTW is there any particular advantage in making the tests.ui
project a fragment of the tests.core plugin?
Some other issues with Minerva that I found:
1. Minerva currently uses a no longer existing Snapshot repository
of the Orbit site in the parent pom.xml:
<orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/S20110124210048/repository</orbit-site>
this should be replaced by the current Orbit release repository
<orbit-site>http://download.eclipse.org/tools/orbit/downloads/drops/R20110523182458/repository/</orbit-site>
2. In the UI tests pom.xml: The site referenced in the line
<local-p2-site>file:/${basedir}/../org.aniszczyk.minerva-updatesite/target/site</local-p2-site>
does not exist, because a) "org.aniszczyk-updatesite" is
actually named "org.aniszczyk.minerva-repository/" in the
filesystem and b) as it is a repository and not an update-site it
should end with .../target/repository and not .../target/site.
I am not sure if the whole thing is needed at all, as Minerva
builds fine without it.
Anyway the "org.aniszczyk.minerva-updatesite" project should be
renamed to "org.aniszczyk.minerva-repository" in eclipse to
reflect the real pathname and the real content.
3. A general suggestion for Minerva: I think it would be more
Eclipse-friendly to move the parent pom.xml from the root
directory to its own Eclipse project, like
"org.aniszczyk.minerva-parent", because as it is now the file is
not shown in Eclipse when doing an "Import Projects" from the
Minerva git repository.
This would, of course, require a
<relativePath>../org.aniszczyk.minerva-parent/pom.xml</relativePath>
entry in all sub pom.xml files.
4. Coming back to the UI tests project. I think in the manifest.mf
all Import-Package and probably all Required-Bundle entries can be
replaced by the org.eclipse.swtbot.go bundle.
Also there is some stuff in the UI tests pom.xml that seems to be
a leftover from from whichever Project Minerva was extracted from
(EGit?), like a dependecy on org.eclipse.cvs.feature.group. (Are
all the dependencies required anyway? Minerva builds fine without
them. But then again I am absolutely new to maven and tycho, still
trying to wrap my head around what's going on inside the build)
5. Many more questions and suggestions, but I think I'll stop here
for now :-)
BTW, what would be the best way to contribute code/fixes to
Minerva at the moment (while it is still at github)?
Thomas
|