You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Nathan Franzen <Na...@mmodal.com> on 2010/05/27 18:26:34 UTC

excluding sources from maven repository

I am attempting to set up a local ivy/artifactory repository for the various third-party tools we use.

This works nicely in many cases, and I'm trying to make my process documented and reusable &c.

I have a problem, though, getting the latest hibernate distribution.  What's happening is that I'm getting the source jars instead of the compiled classes.   Here's what I do

Simple ant install target:

  <target name="test">
        <ivy:cleancache/>
        <ivy:settings id="basic.settings"    file="${basedir}/../ivysettings.xml"/>
        <ivy:install settingsRef="basic.settings"

           organisation="org.hibernate"
                module="hibernate-core"
                revision="3.5.2-Final"

                from="jboss" to="mmodal-artifactory"
                overwrite="true"
        />
  </target>


Where those resolvers are:

    <url name="mmodal-artifactory">
      <artifact pattern="http://repo/artifactory/shared/[organization]/[module]/[revision]/[artifact]-[revision].[ext]"/>
      <ivy  pattern="http://repo/artifactory/shared/[organization]/[module]/[revision]/ivy-[revision].xml" />
    </url>

    <ibiblio name="jboss" root="https://repository.jboss.org/nexus/content/repositories/releases"   m2compatible="true"/>


And I see:

downloading https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final-sources.jar ...
 .......................................................................
 ................................................................................................
 ................................................................................................
 ....................................... (2335kB)
 .. (0kB)
   [SUCCESSFUL ] org.hibernate#hibernate-core;3.5.2-Final!hibernate-core.jar(source) (6625ms)
 downloading https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.jar ...
 .................................................................
 ...............................................................................
 ....................
 .............................................................................
 ................................................................................ (2491kB)
 .. (0kB)
   [SUCCESSFUL ] org.hibernate#hibernate-core;3.5.2-Final!hibernate-core.jar (8703ms)
 :: installing in mmodal-artifactory ::
   published hibernate-core to http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.jar
   published hibernate-core to http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.jar
   published ivy to http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-Final/ivy-3.5.2-Final.xml


So, sadly, the source jar which I don't want at all is overwriting the classes jar.    Can I somehow, somewhere exclude these sources?

Now, I do get a warning message,

[ivy:install]   the module descriptor https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.pom has information which can't be converted into the system namespace. It will require the availability of the namespace 'null' to be fully usable.

but don't know how to make use of it.


Maybe you all have a simple answer.

-Nathan





RE: excluding sources from maven repository

Posted by Nathan Franzen <Na...@mmodal.com>.
Alright, that's good.  I was using [type] earlier, before I found out that it really wasn't sufficient to support my various native library needs.  At that point I switched to a set of xmlns:extra attributes to distinguish things.  

Of course, I see now that I won't be able to use a single resolver/artifact pattern for the different use cases, and that managing 3rd party maven-based java artifacts will take a different approach from my internal C/C++/C# artifacts.

Thanks for the quick and accurate response!

-Nate 


> -----Original Message-----
> From: Mitch Gitman [mailto:mgitman@gmail.com]
> Sent: Thursday, May 27, 2010 12:31 PM
> To: ivy-user@ant.apache.org
> Subject: Re: excluding sources from maven repository
> 
> Nathan, try sticking [type] somewhere in your artifact and ivy patterns and
> see if that works. If you don't want [type] in your ultimate destination
> pattern, you would have to settle for your ivy:install destination being a
> kind of intermediate repo.
> 
> On Thu, May 27, 2010 at 9:26 AM, Nathan Franzen
> <Na...@mmodal.com>wrote:
> 
> > I am attempting to set up a local ivy/artifactory repository for the
> > various third-party tools we use.
> >
> > This works nicely in many cases, and I'm trying to make my process
> > documented and reusable &c.
> >
> > I have a problem, though, getting the latest hibernate distribution.
> >  What's happening is that I'm getting the source jars instead of the
> > compiled classes.   Here's what I do
> >
> > Simple ant install target:
> >
> >  <target name="test">
> >        <ivy:cleancache/>
> >        <ivy:settings id="basic.settings"
> >  file="${basedir}/../ivysettings.xml"/>
> >        <ivy:install settingsRef="basic.settings"
> >
> >           organisation="org.hibernate"
> >                module="hibernate-core"
> >                revision="3.5.2-Final"
> >
> >                from="jboss" to="mmodal-artifactory"
> >                overwrite="true"
> >        />
> >  </target>
> >
> >
> > Where those resolvers are:
> >
> >    <url name="mmodal-artifactory">
> >      <artifact pattern="
> >
> http://repo/artifactory/shared/[organization]/[module]/[revision]/[artifact]-
> [revision].[ext]
> > "/>
> >      <ivy  pattern="
> > http://repo/artifactory/shared/[organization]/[module]/[revision]/ivy-
> [revision].xml"
> > />
> >    </url>
> >
> >    <ibiblio name="jboss" root="
> > https://repository.jboss.org/nexus/content/repositories/releases"
> > m2compatible="true"/>
> >
> >
> > And I see:
> >
> > downloading
> >
> https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate
> /hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final-sources.jar...
> >  .......................................................................
> >
> >
> ..............................................................................
> ..................
> >
> >
> ..............................................................................
> ..................
> >  ....................................... (2335kB)
> >  .. (0kB)
> >   [SUCCESSFUL ]
> > org.hibernate#hibernate-core;3.5.2-Final!hibernate-core.jar(source) (6625ms)
> >  downloading
> >
> https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate
> /hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.jar...
> >  .................................................................
> >
> >
> ..............................................................................
> .
> >  ....................
> >
> >
> .............................................................................
> >
> ..............................................................................
> ..
> > (2491kB)
> >  .. (0kB)
> >   [SUCCESSFUL ] org.hibernate#hibernate-core;3.5.2-Final!hibernate-core.jar
> > (8703ms)
> >  :: installing in mmodal-artifactory ::
> >   published hibernate-core to
> > http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-
> Final/hibernate-core-3.5.2-Final.jar
> >   published hibernate-core to
> > http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-
> Final/hibernate-core-3.5.2-Final.jar
> >   published ivy to
> > http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-Final/ivy-
> 3.5.2-Final.xml
> >
> >
> > So, sadly, the source jar which I don't want at all is overwriting the
> > classes jar.    Can I somehow, somewhere exclude these sources?
> >
> > Now, I do get a warning message,
> >
> > [ivy:install]   the module descriptor
> >
> https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate
> /hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.pomhas information
> which can't be converted into the system namespace. It will
> > require the availability of the namespace 'null' to be fully usable.
> >
> > but don't know how to make use of it.
> >
> >
> > Maybe you all have a simple answer.
> >
> > -Nathan
> >
> >
> >
> >
> >

Re: excluding sources from maven repository

Posted by Mitch Gitman <mg...@gmail.com>.
Nathan, try sticking [type] somewhere in your artifact and ivy patterns and
see if that works. If you don't want [type] in your ultimate destination
pattern, you would have to settle for your ivy:install destination being a
kind of intermediate repo.

On Thu, May 27, 2010 at 9:26 AM, Nathan Franzen
<Na...@mmodal.com>wrote:

> I am attempting to set up a local ivy/artifactory repository for the
> various third-party tools we use.
>
> This works nicely in many cases, and I'm trying to make my process
> documented and reusable &c.
>
> I have a problem, though, getting the latest hibernate distribution.
>  What's happening is that I'm getting the source jars instead of the
> compiled classes.   Here's what I do
>
> Simple ant install target:
>
>  <target name="test">
>        <ivy:cleancache/>
>        <ivy:settings id="basic.settings"
>  file="${basedir}/../ivysettings.xml"/>
>        <ivy:install settingsRef="basic.settings"
>
>           organisation="org.hibernate"
>                module="hibernate-core"
>                revision="3.5.2-Final"
>
>                from="jboss" to="mmodal-artifactory"
>                overwrite="true"
>        />
>  </target>
>
>
> Where those resolvers are:
>
>    <url name="mmodal-artifactory">
>      <artifact pattern="
> http://repo/artifactory/shared/[organization]/[module]/[revision]/[artifact]-[revision].[ext]
> "/>
>      <ivy  pattern="
> http://repo/artifactory/shared/[organization]/[module]/[revision]/ivy-[revision].xml"
> />
>    </url>
>
>    <ibiblio name="jboss" root="
> https://repository.jboss.org/nexus/content/repositories/releases"
> m2compatible="true"/>
>
>
> And I see:
>
> downloading
> https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final-sources.jar...
>  .......................................................................
>
>  ................................................................................................
>
>  ................................................................................................
>  ....................................... (2335kB)
>  .. (0kB)
>   [SUCCESSFUL ]
> org.hibernate#hibernate-core;3.5.2-Final!hibernate-core.jar(source) (6625ms)
>  downloading
> https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.jar...
>  .................................................................
>
>  ...............................................................................
>  ....................
>
>  .............................................................................
>  ................................................................................
> (2491kB)
>  .. (0kB)
>   [SUCCESSFUL ] org.hibernate#hibernate-core;3.5.2-Final!hibernate-core.jar
> (8703ms)
>  :: installing in mmodal-artifactory ::
>   published hibernate-core to
> http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.jar
>   published hibernate-core to
> http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.jar
>   published ivy to
> http://repo/artifactory/shared/org.hibernate/hibernate-core/3.5.2-Final/ivy-3.5.2-Final.xml
>
>
> So, sadly, the source jar which I don't want at all is overwriting the
> classes jar.    Can I somehow, somewhere exclude these sources?
>
> Now, I do get a warning message,
>
> [ivy:install]   the module descriptor
> https://repository.jboss.org/nexus/content/repositories/releases/org/hibernate/hibernate-core/3.5.2-Final/hibernate-core-3.5.2-Final.pomhas information which can't be converted into the system namespace. It will
> require the availability of the namespace 'null' to be fully usable.
>
> but don't know how to make use of it.
>
>
> Maybe you all have a simple answer.
>
> -Nathan
>
>
>
>
>