Let me give you brief overview of what onboarding actually does first. Well, "brief" compared to the scope of what onboarding does ;-)
At high-level, onboarding implements two related user stories 1 as a new project developer I need to create project development environment according to the recommendations provided by the project lead. (we call this "development environment materialization") 2 as a project developer, I want to update my existing project development environment to match the most recent recommendations provided by the project lead. Note that these user stories can be rewritten from project lead point of view, where the project lead wants to "push" recommendations to all project developers. Currently, "recommendations" can cover the following aspects of development environment configuration * Eclipse installation, i.e. plugins and features. * Eclipse workspace preferences. Not everything, mind you, I believe only Maven settings.xml and JDT preferences are supported at the moment. * Actual project sources. Currently GIT, SVN and CVS are supported via their respective team providers. Development environment materilazation is initiated by running JNLP installaer application. The URL of the installer can come as part of "welcome to the project" email or be provided on project wiki page, for example. Once the installer starts, it asks the user for installation and workspace locations, credentials to access remote resources and then installs required eclipse plugins and features, creates the workspace and checks out and imports all project sources. Development environment update is initiated from within running Eclipse instance. It will check for updates to eclipse installation and source code updates. There is obviously much more to tell about onboarding from user point of view, but this should provide sufficient context to explain internal implementations. Briefly, of course ;-) Development environment is described by two xml documents. "Codebase" descriptor provides information about source code repositories, workspace preferences and required eclipse installation contents via reference to a "p2 lineup descriptor". P2 lineup descriptor basically lists plugins and/or features and things like JVM args passed to Eclipse runtime. Overall onboarding functionality is split in several components. Codebase and lineup descriptors are managed by nexus plugins running inside nexus server. REST APIs can be used to retrieve information about available codebases and lineups, and validate and publish new ones. Lineups are fully resolved and cached on the server, so all clients get exactly the same set of plugins and features even if remote p2 repositories contents changes. Corresponding sources can be found under onboarding-nexus/ and onboarding-nexus-p2-runtime/ subdirectories of onboarding source code repository. Codebase materialization, i.e. consumption of codebase and lineup descriptors, is implemented by a number of Eclipse plugins, which are packaged into JNLP installer application and can also be installed directly. There is also Eclipse-based tooling to author codebase and lineup descriptors and to publish them to the server. All client side code can be found under onboarding-m2e/ subdirectory. Classes found under onboarding-models/ directory of onboarding source code repository define codebase and lineup descriptor xml formats and serialized form used REST APIs. Classes found in eclipse-commons source code repository provide some common/generic components used by several Sonatype projects and are not specific to onboarding. It is important to note that there were incompatible changes in p2 between Eclipse 3.5 (a.k.a. galileo) and 3.6 (a.k.a. helios), so managing of eclipse 3.5.x and 3.6.x+ installations is implemented by separately. We tested onboarding with Eclipse 3.5.x and 3.6.x, but 3.7.x and 3.8 are expected to work too. JNLP installer application found under onboarding-m2e/installer is based on Eclipse 3.6.x (probably 3.6.2, but I am not 100% sure). ... and to answer your question, looks like you are using galileo target platform and you need to use helios. We should probably remove eclipse 3.5.x support altogether. Hope this helps. -- Regards, Igor On 11-10-10 9:51 AM, Java Questions wrote:
Ok. I also cloned/imported https://github.com/sonatype/interactive-interpolation.git and that solved another issue. Now I'm down to just 19 compile errors ;) The majority of them are related to "ProfileChangeRequest", although 'org.eclipse.equinox.internal.provisional.p2.director" package is available. It just doesn't have that class... Any quick tips? Description Resource Path Location Type PREFS_ARCHETYPES cannot be resolved or is not a field M2EclipsePreferenceGroup.java /com.sonatype.s2.project.core/src/main/java/com/sonatype/s2/project/prefs/internal line 36 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 376 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 379 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 379 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 703 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 756 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 800 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 816 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 1162 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 1162 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 1254 Java Problem ProfileChangeRequest cannot be resolved to a type P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 1254 Java Problem The constructor StructuredViewerProvisioningListener(String, StructuredViewer, int) is undefined AvailableGroupWrapper.java /com.sonatype.s2.extractor.helios/src/main/java/com/sonatype/s2/extractor line 630 Java Problem The import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest cannot be resolved P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 48 Java Problem The method addProvisioningListener(StructuredViewerProvisioningListener) is undefined for the type ProvUI AvailableGroupWrapper.java /com.sonatype.s2.extractor.helios/src/main/java/com/sonatype/s2/extractor line 646 Java Problem The method buildProvisioningRequest(IProfile, IInstallableUnit[], IInstallableUnit[]) from the type P2Installer refers to the missing type ProfileChangeRequest P2Installer.java /com.sonatype.s2.installer/src/com/sonatype/s2/installer/internal line 757 Java Problem The method getArchetypeManager() is undefined for the type MavenPlugin M2EclipsePreferenceGroup.java /com.sonatype.s2.project.core/src/main/java/com/sonatype/s2/project/prefs/internal line 86 Java Problem The method getMavenProjectManager() is undefined for the type MavenPlugin AbstractSourceTreeOperation.java /com.sonatype.s2.project.core/src/main/java/com/sonatype/s2/project/core/internal/update line 71 Java Problem The method removeProvisioningListener(StructuredViewerProvisioningListener) is undefined for the type ProvUI AvailableGroupWrapper.java /com.sonatype.s2.extractor.helios/src/main/java/com/sonatype/s2/extractor line 651 Java Problem Thanks, Andrii
_______________________________________________ m2e-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/m2e-users
