How to add a file share as (virtual) repository into Nexus

View: New views
5 Messages — Rating Filter:   Alert me  

How to add a file share as (virtual) repository into Nexus

by Rainer Himmeroeder :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

we are trying to find a way to use build artefacts residing on a file share for Maven builds without deploying them into a Maven repository.
Of course these build artefacts can be directly deployed into an existing Maven repository. However for technical reasons like the mount of data and continuous rebuilds we think it is better to omit the deploy step and provide (direct) access to the share as a virtual repository.

Therefore our current approach is to write a Nexus plugin that allows adding the file share as a virtual repository into Nexus.
In order to give a proof of this concept we are looking for information that explains how to write a Nexus plugin.
So far we haven’t found comprehensive documentation about this topic.

Could you please point us to information that we can take as starting point for Nexus plugin development?

Regards,
Rainer

Re: How to add a file share as (virtual) repository into Nexus

by Anders Hammar :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Possibly the nexus-dev mailing list is more appropriate for this.
A Nexus plugin is just a Plexus component (or a group of components).
The thing is to figure out what "type" of Plexus component (the role)
you need to implement. I would start by finding the source code for
the existing virtual repo plugins and look at how things are done
there

/Anders

On Wed, May 27, 2009 at 12:36, Rainer Himmeroeder
<rainer.himmeroeder@...> wrote:

>
> Hi,
>
> we are trying to find a way to use build artefacts residing on a file share
> for Maven builds without deploying them into a Maven repository.
> Of course these build artefacts can be directly deployed into an existing
> Maven repository. However for technical reasons like the mount of data and
> continuous rebuilds we think it is better to omit the deploy step and
> provide (direct) access to the share as a virtual repository.
>
> Therefore our current approach is to write a Nexus plugin that allows adding
> the file share as a virtual repository into Nexus.
> In order to give a proof of this concept we are looking for information that
> explains how to write a Nexus plugin.
> So far we haven’t found comprehensive documentation about this topic.
>
> Could you please point us to information that we can take as starting point
> for Nexus plugin development?
>
> Regards,
> Rainer
>
> --
> View this message in context: http://www.nabble.com/How-to-add-a-file-share-as-%28virtual%29-repository-into-Nexus-tp23739940p23739940.html
> Sent from the Nexus Maven Repository Manager Users List mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: nexus-user-unsubscribe@...
> For additional commands, e-mail: nexus-user-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-user-unsubscribe@...
For additional commands, e-mail: nexus-user-help@...


Re: How to add a file share as (virtual) repository into Nexus

by Brian Fox :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If you want to point nexus at a file system, you don't even need a plugin to do this. Simply change the storage folder for the hosted repository to be where your files are on disk. You then should set the cache timeouts to be very short since Nexus wouldn't see the deploys, and then schedule a reindex fairly often so it will index the changes.

I doubt you would see a significant performance impact from just moving directly to http for the deploys though as compared to a file copy, and you would have less hassle in the way of updated cache and indexes.

On Wed, May 27, 2009 at 4:13 AM, Anders Hammar <anders@...> wrote:
Possibly the nexus-dev mailing list is more appropriate for this.
A Nexus plugin is just a Plexus component (or a group of components).
The thing is to figure out what "type" of Plexus component (the role)
you need to implement. I would start by finding the source code for
the existing virtual repo plugins and look at how things are done
there

/Anders

On Wed, May 27, 2009 at 12:36, Rainer Himmeroeder
<rainer.himmeroeder@...> wrote:
>
> Hi,
>
> we are trying to find a way to use build artefacts residing on a file share
> for Maven builds without deploying them into a Maven repository.
> Of course these build artefacts can be directly deployed into an existing
> Maven repository. However for technical reasons like the mount of data and
> continuous rebuilds we think it is better to omit the deploy step and
> provide (direct) access to the share as a virtual repository.
>
> Therefore our current approach is to write a Nexus plugin that allows adding
> the file share as a virtual repository into Nexus.
> In order to give a proof of this concept we are looking for information that
> explains how to write a Nexus plugin.
> So far we haven’t found comprehensive documentation about this topic.
>
> Could you please point us to information that we can take as starting point
> for Nexus plugin development?
>
> Regards,
> Rainer
>
> --
> View this message in context: http://www.nabble.com/How-to-add-a-file-share-as-%28virtual%29-repository-into-Nexus-tp23739940p23739940.html
> Sent from the Nexus Maven Repository Manager Users List mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: nexus-user-unsubscribe@...
> For additional commands, e-mail: nexus-user-help@...
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-user-unsubscribe@...
For additional commands, e-mail: nexus-user-help@...



Re: How to add a file share as (virtual) repository into Nexus

by Rainer Himmeroeder :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

In our case the share is not compliant with the Maven repository structure.
So I assume that we cannot simply point Nexus at this share.
The folder struture of this share is defined by a different (Non-Maven) build process.
The existing build process has to remain unchanged as well as the folder structre of the concerned share.

Our goal is to make the build results of the Non-Maven build available in Nexus.
Therefore we are evaluating the idea of writing a Nexus plugin that allows to access this share as a virtual repository.
Due to the meta data that is available on the share together with build artefacts we consider creating a pom.xml "on-the-fly" as possible.

As mentioned before we haven't found sufficient information so far with respect to writing Nexus plugins.



Brian Fox wrote:
If you want to point nexus at a file system, you don't even need a plugin to
do this. Simply change the storage folder for the hosted repository to be
where your files are on disk. You then should set the cache timeouts to be
very short since Nexus wouldn't see the deploys, and then schedule a reindex
fairly often so it will index the changes.

I doubt you would see a significant performance impact from just moving
directly to http for the deploys though as compared to a file copy, and you
would have less hassle in the way of updated cache and indexes.

On Wed, May 27, 2009 at 4:13 AM, Anders Hammar <anders@hammar.net> wrote:

> Possibly the nexus-dev mailing list is more appropriate for this.
> A Nexus plugin is just a Plexus component (or a group of components).
> The thing is to figure out what "type" of Plexus component (the role)
> you need to implement. I would start by finding the source code for
> the existing virtual repo plugins and look at how things are done
> there
>
> /Anders
>
> On Wed, May 27, 2009 at 12:36, Rainer Himmeroeder
> <rainer.himmeroeder@sap.com> wrote:
> >
> > Hi,
> >
> > we are trying to find a way to use build artefacts residing on a file
> share
> > for Maven builds without deploying them into a Maven repository.
> > Of course these build artefacts can be directly deployed into an existing
> > Maven repository. However for technical reasons like the mount of data
> and
> > continuous rebuilds we think it is better to omit the deploy step and
> > provide (direct) access to the share as a virtual repository.
> >
> > Therefore our current approach is to write a Nexus plugin that allows
> adding
> > the file share as a virtual repository into Nexus.
> > In order to give a proof of this concept we are looking for information
> that
> > explains how to write a Nexus plugin.
> > So far we haven’t found comprehensive documentation about this topic.
> >
> > Could you please point us to information that we can take as starting
> point
> > for Nexus plugin development?
> >
> > Regards,
> > Rainer
> >
> > --
> > View this message in context:
> http://www.nabble.com/How-to-add-a-file-share-as-%28virtual%29-repository-into-Nexus-tp23739940p23739940.html
> > Sent from the Nexus Maven Repository Manager Users List mailing list
> archive at Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: nexus-user-unsubscribe@sonatype.org
> > For additional commands, e-mail: nexus-user-help@sonatype.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: nexus-user-unsubscribe@sonatype.org
> For additional commands, e-mail: nexus-user-help@sonatype.org
>
>

Re: How to add a file share as (virtual) repository into Nexus

by Tamás Cservenák :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

As of doco, the _real_ plugin support is emerging:

If you share more information about your "in house build process" format, I can scratch some sources for you guys as help. This would be really a proof-of-concept, creating a new repo type that is able to consume custom layout from disk, and publish it as M2 repo.... cool!

Nexus is already prepared for cases like this, so the only missing info from the picture is a layout. Moreover, we could make this repo type "parametrizable", but let's start with baby steps.....

~t~

On Wed, Jun 3, 2009 at 6:51 PM, Rainer Himmeroeder <rainer.himmeroeder@...> wrote:

In our case the share is not compliant with the Maven repository structure.
So I assume that we cannot simply point Nexus at this share.
The folder struture of this share is defined by a different (Non-Maven)
build process.
The existing build process has to remain unchanged as well as the folder
structre of the concerned share.

Our goal is to make the build results of the Non-Maven build available in
Nexus.
Therefore we are evaluating the idea of writing a Nexus plugin that allows
to access this share as a virtual repository.
Due to the meta data that is available on the share together with build
artefacts we consider creating a pom.xml "on-the-fly" as possible.

As mentioned before we haven't found sufficient information so far with
respect to writing Nexus plugins.




Brian Fox wrote:
>
> If you want to point nexus at a file system, you don't even need a plugin
> to
> do this. Simply change the storage folder for the hosted repository to be
> where your files are on disk. You then should set the cache timeouts to be
> very short since Nexus wouldn't see the deploys, and then schedule a
> reindex
> fairly often so it will index the changes.
>
> I doubt you would see a significant performance impact from just moving
> directly to http for the deploys though as compared to a file copy, and
> you
> would have less hassle in the way of updated cache and indexes.
>
> On Wed, May 27, 2009 at 4:13 AM, Anders Hammar <anders@...> wrote:
>
>> Possibly the nexus-dev mailing list is more appropriate for this.
>> A Nexus plugin is just a Plexus component (or a group of components).
>> The thing is to figure out what "type" of Plexus component (the role)
>> you need to implement. I would start by finding the source code for
>> the existing virtual repo plugins and look at how things are done
>> there
>>
>> /Anders
>>
>> On Wed, May 27, 2009 at 12:36, Rainer Himmeroeder
>> <rainer.himmeroeder@...> wrote:
>> >
>> > Hi,
>> >
>> > we are trying to find a way to use build artefacts residing on a file
>> share
>> > for Maven builds without deploying them into a Maven repository.
>> > Of course these build artefacts can be directly deployed into an
>> existing
>> > Maven repository. However for technical reasons like the mount of data
>> and
>> > continuous rebuilds we think it is better to omit the deploy step and
>> > provide (direct) access to the share as a virtual repository.
>> >
>> > Therefore our current approach is to write a Nexus plugin that allows
>> adding
>> > the file share as a virtual repository into Nexus.
>> > In order to give a proof of this concept we are looking for information
>> that
>> > explains how to write a Nexus plugin.
>> > So far we haven’t found comprehensive documentation about this topic.
>> >
>> > Could you please point us to information that we can take as starting
>> point
>> > for Nexus plugin development?
>> >
>> > Regards,
>> > Rainer
>> >
>> > --
>> > View this message in context:
>> http://www.nabble.com/How-to-add-a-file-share-as-%28virtual%29-repository-into-Nexus-tp23739940p23739940.html
>> > Sent from the Nexus Maven Repository Manager Users List mailing list
>> archive at Nabble.com.
>> >
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: nexus-user-unsubscribe@...
>> > For additional commands, e-mail: nexus-user-help@...
>> >
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: nexus-user-unsubscribe@...
>> For additional commands, e-mail: nexus-user-help@...
>>
>>
>
>

--
View this message in context: http://www.nabble.com/How-to-add-a-file-share-as-%28virtual%29-repository-into-Nexus-tp23739940p23855136.html
Sent from the Nexus Maven Repository Manager Users List mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: nexus-user-unsubscribe@...
For additional commands, e-mail: nexus-user-help@...