Hi Igor, Thanks for the nice summary! It's exactly what I can start selling to my managers ;) Especially because it's almost exactly what we're trying to achieve!
I just need to show them some kind of a demo, preferably using some of our internal projects. While I'm having all these issues with building the Onboarding project, I'm wondering if there are any working bits available somewhere (update site?) where I can grab all the stuff needed for the demo? Thanks, Andrii On Tue, Oct 11, 2011 at 7:40 PM, Igor Fedorenko <[email protected]> wrote: > 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<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 StructuredViewerProvisioningLi**stener(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(**StructuredViewerProvisioningLi** >> stener) >> 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(**StructuredViewerProvisioningLi**stener) 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<https://dev.eclipse.org/mailman/listinfo/m2e-users> >
_______________________________________________ m2e-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/m2e-users
