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

Reply via email to