Einarbeiten in OpenSource Code - Eclipse RCP Frage

Guten Abend,

Ich würde mich gerne in zwei Open Source Tools einarbeiten, sprich den Quellcode analysieren und gegebenfalls was ändern. Die zwei Tools sind:

Quamoco by wagnerst

und

https://www.cqse.eu/en/products/conqat/install/
.

Ich habe mir die beiden Tools auch schon runtergeladen. Es sind jeweils mehrere Java Projekte mit folgender Struktur:

de.project.qm.edit
de.project.qm.help
de.project.qm.standalone

Ich habe weiters die Java projekte in eclipse import. Nun wäre meine Frage wie kann ich das ganze kompilieren so das es zum fertigen Tool wird? Nach einer ersten Untersuchung konnte ich mehrere main() methoden entdecken.
Wenn ich mir die fertigen Tools (also die bereits kompilierten) anschaue, sind dies ausführbare .exe dateien. Was muss ich nun machen um den Code in ein fertiges Tool zu kompilieren?

Vielen Dank für die Hilfe!

(Ohje, hoffentlich kann da jemand mehr dazu sagen - beim ersten Drüberschauen nur der kurze Hinweis von mir: ) Das scheinen Eclipse RCP Anwendungen zu sein. Du wirst vermutlich “Eclipse for RCP and RAP Developers” brauchen (von https://eclipse.org/downloads/ ). Dort gibt es dann ein paar Freiheitsgrade, je nachdem, auf welcher Eclipse-RCP-Plattform das ganze aufbaut (3 oder 4…). Im Idealfall kann man die ganzen Projekte dann über “Import -> Existing Projects into Workspace” importieren. Am Ende die EXE zu bauen wäre dann nochmal ein zweiter Schritt (aber sollte dann nicht mehr sooo schwer sein: Das ist praktisch eine “normale Eclipse.exe” - alles, was am gestarteten Programm dann über “Eclipse” hinausgeht, sind die ganzen Plugin-Projekte (etwas vereinfacht gesagt - aber ich beweg’ mich da auch auf dünnem Eis…))

Meine Empfehlung wäre dies in den Bereich Plattformprogrammierung zu verschieben.
Die zweite wäre den Titel umzubenennen in z.B. “Eclipse RCP / Plugin - Projekt bauen”

Ich habe mal kurz das Projekt bei Github überflogen.

Ist dort in einem Projekt eine *.product Datei zu finden?
Oder eine build.xml Datei?
Dort stehen in der Regel die benötigten Informationen um das ganze zu bauen, bzw. bauen zu lassen.

So ein RCP zu bauen ist manchmal eine Wissenschaft für sich.

Ja, hab’ es mal verschoben, und zumindest noch “RCP” in den Titel eingefügt. (Der Bereich hier ist zwar “wenig besucht”, aber … solange hier keine Threads stehen, ändert sich das auch nicht :D).

Es stimmt, so ein Projekt zu bauen, KANN kompliziert sein. Die idealisierte Wunschvorstellung ist aber schon, dass man einfach alle Pluginprojekte importiert, und dann das “Product” startet.

Für genauere Tipps müßte man das wohl schlicht mal ausprobieren (da werde ich aber zumindest in den nächsten Tagen nicht dazu kommen - vielleicht jemand anderes…!?)

Schönen Sonntagmittag!

Zu aller erst einmal ein großes Sorry das ich nicht geantwortet habe, aber ich habe keine Email Benachrichtigung erhalten über Antworten. Werd gleich mal nachschauen wo man das einstellen kann :wink:

Vielen vielen Dank für die Antworten und die Hilfe!

Also ist es im Prinzip ein normales Eclipse das startet und die speziellen Änderungen werden über PlugIns geladen?
Ok PlugIn Entwicklung ist komplettes Neuland für mich :slight_smile:

ja in einem der beiden Projekt (ConQAT) ist eine build.xml drinnen, ich erlaube mir mal den inhalt dieser hier zu posten:

<?xml version="1.0"?>
<target name="bootstrap" description="Prepare ConQAT bootstrap file">
	<ant antfile="build.xml" dir="org.conqat.engine.core" target="bootstrap" inheritAll="false" />
</target>


<target name="compile" description="Compiles ConQAT and all bundles." depends="bootstrap">
	<ant antfile="bootstrap.xml" dir="." target="compile-all" inheritAll="false" />
</target>


<target name="compile-tests" description="Compiles tests for ConQAT and all bundles" depends="compile">
	<ant antfile="bootstrap.xml" dir="." target="compile-tests-all" inheritAll="false" />
</target>

<target name="test" description="Runs tests for ConQAT and all bundles" depends="compile,compile-tests">
	<ant antfile="bootstrap.xml" dir="." target="test-all" inheritAll="false" />
</target>

<target name="dist" description="Creates the distribution" depends="bootstrap">
	<ant antfile="bootstrap.xml" dir="." target="dist-source" inheritAll="false" />
	<ant antfile="bootstrap.xml" dir="." target="dist-binary" inheritAll="false" />
</target>

<target name="dist-unified" description="Creates the unified distribution">
	<ant antfile="bootstrap.xml" dir="." target="dist-unified" inheritAll="false" />
</target>

<!-- Targets used to trim the distribution -->

<target name="trim-to-release" description="Trims the directory to the set defined by release.dist">
	<property name="selection-file" value="release.dist" />
	<antcall target="trim" />
</target>

<target name="trim-to-env" description="Trims the directory to the set defined by the file given in TRIM_FILE environment variable.">
        <property environment="myenv" />
        <property name="selection-file" value="${myenv.TRIM_FILE}" />
	<antcall target="trim" />
</target>

<target name="trim" if="selection-file" description="Utility target used to perform the actual trimming">
	<copy file="${selection-file}" tofile="exclude.pattern" overwrite="true" />
	<replaceregexp file="exclude.pattern" match="$" replace="/**" byline="true" />
	<delete includeemptydirs="true">
		<fileset dir="." includes="**" excludes="*" excludesfile="exclude.pattern" defaultexcludes="false" />
		<dirset dir="." includes="*" excludesfile="${selection-file}" />
	</delete>
</target>

Dann werde ich mir mal dieses elicpse RPC runterladn danke!

Schönen Sonntagmittag!

Zu aller erst einmal ein großes Sorry das ich nicht geantwortet habe, aber ich habe keine Email Benachrichtigung erhalten über Antworten. Werd gleich mal nachschauen wo man das einstellen kann :wink:

Vielen vielen Dank für die Antworten und die Hilfe!

Also ist es im Prinzip ein normales Eclipse das startet und die speziellen Änderungen werden über PlugIns geladen?
Ok PlugIn Entwicklung ist komplettes Neuland für mich :slight_smile:

ja in einem der beiden Projekt (ConQAT) ist eine build.xml drinnen, ich erlaube mir mal den inhalt dieser hier zu posten:

[xml]

<?xml version="1.0"?>
<target name="bootstrap" description="Prepare ConQAT bootstrap file">
	<ant antfile="build.xml" dir="org.conqat.engine.core" target="bootstrap" inheritAll="false" />
</target>


<target name="compile" description="Compiles ConQAT and all bundles." depends="bootstrap">
	<ant antfile="bootstrap.xml" dir="." target="compile-all" inheritAll="false" />
</target>


<target name="compile-tests" description="Compiles tests for ConQAT and all bundles" depends="compile">
	<ant antfile="bootstrap.xml" dir="." target="compile-tests-all" inheritAll="false" />
</target>

<target name="test" description="Runs tests for ConQAT and all bundles" depends="compile,compile-tests">
	<ant antfile="bootstrap.xml" dir="." target="test-all" inheritAll="false" />
</target>

<target name="dist" description="Creates the distribution" depends="bootstrap">
	<ant antfile="bootstrap.xml" dir="." target="dist-source" inheritAll="false" />
	<ant antfile="bootstrap.xml" dir="." target="dist-binary" inheritAll="false" />
</target>

<target name="dist-unified" description="Creates the unified distribution">
	<ant antfile="bootstrap.xml" dir="." target="dist-unified" inheritAll="false" />
</target>

<!-- Targets used to trim the distribution -->

<target name="trim-to-release" description="Trims the directory to the set defined by release.dist">
	<property name="selection-file" value="release.dist" />
	<antcall target="trim" />
</target>

<target name="trim-to-env" description="Trims the directory to the set defined by the file given in TRIM_FILE environment variable.">
        <property environment="myenv" />
        <property name="selection-file" value="${myenv.TRIM_FILE}" />
	<antcall target="trim" />
</target>

<target name="trim" if="selection-file" description="Utility target used to perform the actual trimming">
	<copy file="${selection-file}" tofile="exclude.pattern" overwrite="true" />
	<replaceregexp file="exclude.pattern" match="$" replace="/**" byline="true" />
	<delete includeemptydirs="true">
		<fileset dir="." includes="**" excludes="*" excludesfile="exclude.pattern" defaultexcludes="false" />
		<dirset dir="." includes="*" excludesfile="${selection-file}" />
	</delete>
</target>
[/xml]

Dann werde ich mir mal dieses elicpse RPC runterladn danke!

Schönen Sonntagmittag!

Zu aller erst einmal ein großes Sorry das ich nicht geantwortet habe, aber ich habe keine Email Benachrichtigung erhalten über Antworten. Werd gleich mal nachschauen wo man das einstellen kann :wink:

Vielen vielen Dank für die Antworten und die Hilfe!

Also ist es im Prinzip ein normales Eclipse das startet und die speziellen Änderungen werden über PlugIns geladen?
Ok PlugIn Entwicklung ist komplettes Neuland für mich :slight_smile:

ja in einem der beiden Projekt (ConQAT) ist eine build.xml drinnen.

Dann werde ich mir mal dieses elicpse RPC runterladn danke!