An example:

<project>
  <modules>
    <module>sub1</module> <!-- directory -->
    <module>sub2/custom-pom.xml</module>  <!-- folder -->

    <!-- proposal -->
<module>scm:git:https://git-wip-us.apache.org/repos/asf/maven-clean-plugin.git</module> <!-- scm based -->
  <modules>
</project>


On Mon, 09 Oct 2017 00:01:29 +0200, Hervé BOUTEMY <herve.bout...@free.fr> wrote:

I don't really understand these answers: a demo, please

Regards,

Hervé

Le dimanche 8 octobre 2017, 20:32:29 CEST Robert Scholte a écrit :
On Sun, 08 Oct 2017 20:27:17 +0200, Stephen Connolly

<stephen.alan.conno...@gmail.com> wrote:
> On Sun 8 Oct 2017 at 18:28, Hervé BOUTEMY <herve.bout...@free.fr> wrote:
>> I don't get the technical details
>> but IIUC, you're able to do a PoC with our available git repositories of
>> Jenkins job maintenance (easy job creation + easy Jenkinsfile
>> maintenance),
>
> Job created automatically once there is a git repo with a branch with a
> Jenkinsfile . No human interaction required after `echo
> “mavenProjectStdBuild();” > Jenkinsfile && git add Jenkinsfile && git
> commit “add Jenkinsfile”  && git push`
>
> Jenkinsfile being just one line `mavenProjectStdBuild` or something like
> that.
>
> Is that easy enough?

IIRC there is this proposal to let pom modules support directories, pom
locations (these are already supported) and SCM references. Might be
interesting for an aggregator pom.

Robert

> and
>
>> you're confident that it can scale to the size we're expecting when
>> we're
>> splitting the current aggregator svn to many small git repos
>>
>> that's it?
>>
>> Regards,
>>
>> Hervé
>>
>> Le dimanche 8 octobre 2017, 16:21:10 CEST Stephen Connolly a écrit :
>> > On Sun 8 Oct 2017 at 03:55, Hervé BOUTEMY <herve.bout...@free.fr>
>>
>> wrote:
>> > > TLDR; =
>> > > Perhaps we can start with 2 proofs of concept:
>> > > 1. full git clone + Jenkins jobs for the 7 existing git repos (with
>>
>> 6
>>
>> > > additional ones in 2 days)
>> > > 2. git split of one of the aggregator svn trunk: skins or
>>
>> doxia-tools
>> can
>>
>> > > be
>> > > easy choices since they are light, where plugins or shared are
>>
>> perhaps
>> too
>>
>> > > heavy. The one working on this PoC will make his choice
>> > >
>> > > then more detailed answer inline that lead to this PoCs proposal
>> > >
>> > > Regards,
>> > >
>> > > Hervé
>> > >
>> > > Le dimanche 8 octobre 2017, 00:02:10 CEST Tibor Digana a écrit :
>> > > > I don't think the devs would work on all artifacts(projects) a
>>
>> time.
>>
>> > > sure, I think I'm one of the few people working on near everything
>>
>> (with
>>
>> > > rare
>> > > exceptions like Surefire, as you noticed :) )
>> > > but for usual contributor, there is no issue
>> > >
>> > > I'm not a git expert, then I don't know if easy "full Maven clone"
>>
>> is
>>
>> > > better
>> > > done with a shell script or some git modules
>> > >
>> > > > If the naming convention of repo for a plugin would be artifactId,
>>
>> like
>>
>> > > > /maven-clean-plugin, then even easy to figure out which one to
>>
>> clone.
>>
>> > > > The most likely the dev would just clone one repo she/he is
>>
>> interested
>>
>> > > > in
>> > > > at the moment, i.e. repository /maven-clean-plugin, let's say.
>> > > > It's good to avoid any shared files across them, even I don't
>>
>> think
>> devs
>>
>> > > > share some in svn today. The release process would be quite usual,
>>
>> i.e.
>>
>> > > one
>> > >
>> > > > repo = one project, and new devs already have these experiences
>>
>> which
>>
>> > > will
>> > >
>> > > > be simple for them to adapt faster.
>> > >
>> > > +1
>> > > the only drawback I see currently is that there is no natural
>>
>> grouping,
>>
>> > > then
>> > > we have a flat lit of near 100 git repos without the current
>>
>> structure
>>
>> > > (plugins, shared components, skins, ...): I think components
>>
>> structure
>> is
>>
>> > > useful for maintenability
>> > > but not really a complete showstopper
>> > > and perhaps the "Maven full clone" tooling can re-create some
>>
>> grouping
>> to
>>
>> > > keep
>> > > visible structure
>> > >
>> > > Now, someone has to know how to create per-component git repo with
>>
>> tags
>>
>> > > (either by reworking exiting git mirrors, either by restarting from
>>
>> svn),
>>
>> > > and
>> > > that's not me :)
>> > >
>> > > given the volume (adding 70 git repos for Maven), we'll have to tell
>>
>> infra
>>
>> > > about it.
>> > >
>> > > Then there is the Jenkins jobs configuration:
>> > > - we need easy Jenkinsfile in each repo
>> >
>> > so we create a shared Groovy library like the Jenkins project does and
>>
>> the
>>
>> > Jenkinsfile becomes `buildPlugin` for all except core
>> >
>> > > - we need easy 80 jobs creation (no, I won't manually create 80 jobs
>> > > personally)
>> >
>> > So I will add SCMNavigator functionality to the ASF git-Jenkins plugin
>>
>> and
>>
>> > we just define an org-folder for Maven and all git repos with a
>>
>> Jenkinsfile
>>
>> > will be auto-maintained.
>> >
>> > > And once again, infra will have to be in the loop (at Jenkins side
>>
>> this
>>
>> > > time),
>> > > since I fear the load on Jenkins master node won't be light: perhaps
>> > > that's
>> > > where Jenkins folders will be useful, but I'm not a Jenkins expert
>>
>> either.
>>
>> > If we use an org folder integrated with GitPubSub I do not think they
>>
>> will
>>
>> > be overly concerned
>> >
>> > > If everything seems feasible to split our svn code into 1 git repo
>>
>> per-
>>
>> > > component, which will bring us to "full Maven code" being near 100
>>
>> repos,
>>
>> > > I'm
>> > > ok with it.
>> > > We'll need the help of misc experts on Jenkins and git to prepare
>>
>> things
>>
>> > > at
>> > > this scale.
>> >
>> > I think one repo per release root is the way to go.
>> >
>> > We should start by drawing up a list and amalgamation where
>>
>> appropriate:
>> > Eg
>> >
>> > * does it make sense to release maven-deploy-plugin and
>> > maven-install-plugin independently? Seems we most often make mirroring
>> > changes to both, and perhaps it would be better if we forced that
>>
>> model?
>>
>> > (Don’t answer in this thread, just pointing out an example)
>>
>> ---------------------------------------------------------------------
>>
>> > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>> > > For additional commands, e-mail: dev-h...@maven.apache.org
>> > >
>> > > --
>> >
>> > Sent from my phone
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
>> For additional commands, e-mail: dev-h...@maven.apache.org
>>
>> --
>
> Sent from my phone

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to