Maven/Tycho fr Eclipse RCP-Applikationen

  • Published on
    13-May-2015

  • View
    7.421

  • Download
    1

DESCRIPTION

Das neue Build-Werkzeug im Eclipse-Universum

Transcript

  • 1.Maven/Tycho fr Eclipse RCP-Applikationen Das neue Build-Werkzeug im Eclipse-Universum Beat Strasser InventageOktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen

2. Themen Eclipse PDE Eclipse PDEP2P2 Targetplatform TargetplatformRepositories Repositories Metadaten Metadaten Tools ToolsTychoTycho Maven Maven OSGi OSGiPackage-Typen Package-TypenKonfigurationKonfiguration AbhngigkeitenAbhngigkeiten Versionierung VersionierungOktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 3. www.eclipse.org/tycho Tycho: Set von Maven3-Pluginsorg.eclipse.tycho:tycho-*-plugin:0.13.0In Maven Central verfgbar Konkurrent zu PDE-Headless-BuildVerarbeitet OSGi- und PDE-MetadatenErweitert Maven-Abhngigkeits-Modell umOSGi-/Eclipse-RCP-AbhngigkeitenP2-Repository-Support fr Maven Hauptschlich Manifest-firstOktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 4. P2P2 PDE PDEProjekt-StrukturTychoTychoMavenMaven OSGi OSGiOktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 5. P2P2 PDE PDETycho-Konfiguration TychoTychoMavenMaven OSGi OSGieclipse-indigop2linuxhttp://download.releases.org/releases/indigo/gtkx86_64win32org.eclipse.tychowin32tycho-maven-pluginx86_640.13.0truemacosxcocoax86_64org.eclipse.tychotarget-platform-configuration0.13.0Oktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 6. P2P2 PDE PDEPlugins, Fragmente, FeaturesTychoTychoMavenMaven OSGi OSGi Plugins, Fragmente: eclipse-plugin Test-Fragmente: eclipse-test-plugin Eclipse-Features: eclipse-feature Artifakt-Id und -Version analog zu PDE/OSGi POM-Dateien generieren: mvn org.eclipse.tycho:tycho-pomgenerator- plugin:generate-poms -DgroupId=...Oktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 7. P2P2 PDE PDEEclipse RCP-Applikation TychoTychoMavenMaven OSGi OSGieclipse-repositoryorg.eclipse.tychotycho-p2-director-plugin0.13.0materialize-productsmaterialize-productsarchive-productsarchive-productsOktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 8. P2P2 PDE PDESpezial-Konfiguration TychoTychoMavenMaven OSGi OSGiSupport fr Zusatzdateien analog zu PDEbuild.properties in Feature:root = file:README.txtroot.win32.win32.x86 = rootfiles/winroot.linux.gtk.x86 = rootfiles/linuxroot.linux.gtk.x86.permissions.755 = scripts/helloroot.linux.gtk.x86.link = scripts/hello,hello_aliasCompiler-Optionen: tycho-compiler-pluginPackaging-Optionen: tycho-packaging-pluginSource-Optionen:tycho-source-pluginTest-Optionen:tycho-surefire-pluginOktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 9. P2P2Abhngigkeiten bei Eclipse PDE PDE PDETychoTychoTargetplatform OSGi OSGiMavenMavenOktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 10. P2 P2PDEPDEAbhngigkeiten bei Tycho Tycho Tycho Maven MavenOSGiOSGiUnzureichende Metadaten in Maven-Repositories Manifest-first (default): Dependencies in POM werden nicht beachtetTargetplatform-Definition durch Angabe aller bentigten P2-Repositories (Layout p2) Angabe einer PDE-Target-DefinitionsdateiVerwaltung pro Maven-Modultycho.targetplatform-Property nicht mehr benutzenLokales Maven-Repository dient auch als P2-CacheOktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 11. P2P2 PDE PDETargetdefinition verwenden in Tycho TychoTychoMavenMaven OSGi OSGiEigenes Artifact fr Target-Definition erstellen (z.B. mitorg.codehaus.mojo:build-helper-maven-plugin:attach-artifact)Tycho-Konfiguration:org.eclipse.tychotarget-platform-configuration0.13.0com.exampleexample.target1exampleOktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 12. P2 P2PDEPDEEquinox P2 Tycho Tycho Maven MavenOSGiOSGi Eclipse Software-Verteilungs-Plattform mit Beschreibungen fr Installable UnitsP2 CoreP2 UIP2 Repository (statisch) content.xml artifacts.xmlOktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 13. P2 P2PDEPDEZusammengesetztes P2-RepositoryTycho Tycho Maven MavenOSGiOSGip2repo/ compositeArtifacts.xml compositeContent.xml other/ artifacts.jar content.jar features/ plugins/Oktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 14. P2 P2PDEPDEPublizieren von IUsTycho Tycho Maven MavenOSGiOSGijava -jar ~/.m2/repository/org/eclipse/tycho/tycho-p2-runtime/0.13.0/eclipse/plugins/org.eclipse.equinox.launcher_1.2.0.v201110502.jar-application org.eclipse.equinox.p2.publisher. FeaturesAndBundlesPublisher-metadataRepository file:/tmp/myNewRepo-artifactRepository file:/tmp/myNewRepo-source file:/tmp/bundles-metadataRepositoryName "My new repo"-artifactRepositoryName "My new repo"-publishArtifacts -compress -appendOktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 15. P2 P2PDEPDENexus Repository Manager Tycho Tycho Maven MavenOSGiOSGi P2-Proxies und P2-Gruppenseit September 2011 auch in Nexus OSS! Experimentelle Features (OSS):nexus-p2-repository-plugin:P2-Ansicht aller OSGi-Bundles eines Maven-Reposnexus-bundle-maker-plugin:Automatisches OSGi-fizieren von ArtifaktenOktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 16. P2 P2PDEPDEVersionierungTycho Tycho Maven MavenOSGiOSGiMavenSnapshot- und Release-VersionenOSGiNur Release-VersionenVersions-Semantik major.minor.micro.qualifierPackage-VersionierungTychoZweifache Versionsangabe konsistent halten1.2.3-SNAPSHOT 1.2.3.qualifiertycho-versions-plugin:set-version-DnewVersion=1.2.3-SNAPSHOT -Dartifacts=...Oktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 17. P2P2 PDE PDEVersionsnummer-(In)Konsistenz TychoTychoMavenMaven OSGi OSGi Maven: 1.2.3-SNAPSHOT < 1.2.3 OSGi: 1.2.3.20111013 > 1.2.3 Lsungsanstze:Qualifier auch fr Releases (Timestamp, FINAL,RELEASE, STABLE, ...)Gerade/ungerade Nummern frRelease/SnapshotOSGi Draft: negative Qualifier1.2.3-20111013 < 1.2.3 < 1.2.3.20111013Oktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 18. P2P2 PDE PDEEclipse-API-Tooling TychoTychoMavenMaven OSGi OSGiOktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 19. P2P2 PDE PDEFazit TychoTychoMavenMaven OSGi OSGiMaven-BuildEinheitlicher BuildEinfacher Setup, wenig KonfigurationGuter PDE-SupportTransitive Abhngigkeiten nicht ersichtlich berTycho-/Maven-GrenzeMaven-Repositories ungebrauchtVersionierung mhsamP2Repository-Management wenig effizientP2-Core-Tools ohne Offline-SupportOktober 2011 JUGS: Maven/Tycho fr Eclipse RCP-Applikationen 20. P2 P2PDEPDETychoTycho Tycho Maven MavenOSGiOSGi http://www.eclipse.org/tycho/ http://wiki.eclipse.org/Category:Tycho Mailing-Listen:tycho-user@eclipse.orgtycho-dev@eclipse.org git://git.eclipse.org/gitroot/tycho/org.eclipse.tycho.git EclipseCon Europe (2.-4.11.2011)Oktober 2011JUGS: Maven/Tycho fr Eclipse RCP-Applikationen

Recommended

View more >