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 Bhatia Saurabh <Bh...@OFAC.CH> on 2007/07/02 10:33:28 UTC
RE: Source [war] in eclipse IvyDE
This is a very valid discussion.
What should I do to publish the sources of a war file ?
Should I name it \source\mylib.war?
-----Message d'origine-----
De : John Gill [mailto:llignhoj@gmail.com]
Envoyé : jeudi, 28. juin 2007 13:54
À : ivy-user@incubator.apache.org
Objet : Re: Source in eclipse IvyDE
Make sure the name of the source jar is exactly the same name as the
implementation jar.
For example, if your jar is mylib.jar, then its type would be jar. The
source would be mylib.jar and it's type would be source, and its ext would
be jar (or zip if you like).
The same applies for javadoc, if you have a zip of javadoc, then it's name
would be the mylib.zip, but its type would be javadoc.
So, your repsoitory would have
myorg\mylib\1.0.0\jar\mylib.jar
myorg\mylib\1.0.0\source\mylib.jar
myorg\mylib\1.0.0\javadoc\mylib.zip
On 6/28/07, Foreman, Alex (IT) <Al...@morganstanley.com> wrote:
>
> Hi,
>
> I have configured eclipseIDE to use Ivy and it is currently resolving
> all my complex dependancies. It is imperitive that we have our sources
> available for use by developers.
>
> I noticed in the ivy preferences page there is a source attachment. In
> there I have added 'source'
> In one library I have added an extra artifact of type 'source' and
> pointed it to the source jar. However ivy resolves all jars downloads
> them to the cache but eclipse doesnot view the source code when I view
> it though its java editor.
>
> Have I missed anything out?
> This would be a real blocker if we cannot view the source automatically
> once resolved.
>
> Also is there away to remove the cache to enable it to be refreshed via
> eclipse? Currently I have to go thrugh a file manager and remove the
> directory by hand then refresh in eclipse.
>
> Many thanks,
>
> Alex
> --------------------------------------------------------
>
> NOTICE: If received in error, please destroy and notify sender. Sender
> does not intend to waive confidentiality or privilege. Use of this email is
> prohibited when received in error.
>
--
Regards,
John Gill
Re: Source [war] in eclipse IvyDE
Posted by Xavier Hanin <xa...@gmail.com>.
On 7/2/07, Bhatia Saurabh <Bh...@ofac.ch> wrote:
>
> This is a very valid discussion.
>
> What should I do to publish the sources of a war file ?
> Should I name it \source\mylib.war?
Here is the current algo used to consider an artifact as the source artifact
of another artifact:
if (a.getName().equals(artifact.getName()) &&
a.getId().getRevision().equals(artifact.getId().getRevision())
&&
IvyPlugin.isSources(_javaProject, a))
with isSources:
public static boolean isSources(IJavaProject project, Artifact artifact)
{
return getSourcesTypes(project).contains(artifact.getType());
}
getSourcesTypes returns the collection configured in IvyDE, by default
{"source"}.
Therefore to be considered a source artifact your artifact must:
- have the same name and revision as the artifact to which it must be
attached
- have a "source" type (or another type configured in IvyDE).
Hence the 'ext' is free.
HTH,
Xavier
-----Message d'origine-----
> De: John Gill [mailto:llignhoj@gmail.com]
> Envoyé: jeudi, 28. juin 2007 13:54
> À: ivy-user@incubator.apache.org
> Objet: Re: Source in eclipse IvyDE
>
> Make sure the name of the source jar is exactly the same name as the
> implementation jar.
>
> For example, if your jar is mylib.jar, then its type would be jar. The
> source would be mylib.jar and it's type would be source, and its ext would
> be jar (or zip if you like).
>
> The same applies for javadoc, if you have a zip of javadoc, then it's name
> would be the mylib.zip, but its type would be javadoc.
>
> So, your repsoitory would have
>
> myorg\mylib\1.0.0\jar\mylib.jar
> myorg\mylib\1.0.0\source\mylib.jar
> myorg\mylib\1.0.0\javadoc\mylib.zip
>
>
> On 6/28/07, Foreman, Alex (IT) <Al...@morganstanley.com>
> wrote:
> >
> > Hi,
> >
> > I have configured eclipseIDE to use Ivy and it is currently resolving
> > all my complex dependancies. It is imperitive that we have our sources
> > available for use by developers.
> >
> > I noticed in the ivy preferences page there is a source attachment. In
> > there I have added 'source'
> > In one library I have added an extra artifact of type 'source' and
> > pointed it to the source jar. However ivy resolves all jars downloads
> > them to the cache but eclipse doesnot view the source code when I view
> > it though its java editor.
> >
> > Have I missed anything out?
> > This would be a real blocker if we cannot view the source automatically
> > once resolved.
> >
> > Also is there away to remove the cache to enable it to be refreshed via
> > eclipse? Currently I have to go thrugh a file manager and remove the
> > directory by hand then refresh in eclipse.
> >
> > Many thanks,
> >
> > Alex
> > --------------------------------------------------------
> >
> > NOTICE: If received in error, please destroy and notify sender. Sender
> > does not intend to waive confidentiality or privilege. Use of this email
> is
> > prohibited when received in error.
> >
>
>
>
> --
> Regards,
> John Gill
>
--
Xavier Hanin - Independent Java Consultant
Creator of Ivy, xooki and xoocode.org
More about me: http://xhab.blogspot.com/
Re: Source [war] in eclipse IvyDE
Posted by Xavier Hanin <xa...@gmail.com>.
On 7/2/07, John Gill <ll...@gmail.com> wrote:
>
> Ok thanks Xavier. I'll give that a try.
>
> I think that implementing a built in classifier attribute in ivy would be
> the way to go, but it would be nice if it could be used even if you aren't
> using maven.
If we support it for maven, you'll be able to use it even if you don't use
maven, no problem. But I don't know if it makes sense to add yet another
standard attribute on the artifact. We already have the name, ext and type,
and usually this is enough. The problem we face here is more in the
flexibility of patterns. Supporting conditional patterns (IVY-324) would
allow to specify one pattern for source artifacts, and nother one for jar
artifacts, and so on. I'd prefer this as a solution to the problem rather
than making classifier a standard attribute.
Xavier
On 7/2/07, Xavier Hanin <xa...@gmail.com> wrote:
> >
> > On 7/2/07, John Gill <ll...@gmail.com> wrote:
> > >
> > > The extension can be whatever you like. I don't think an extension of
> > war
> > > is
> > > a good idea though. I quite like the idea of using .src.war as the
> > > extension.
> > >
> > > Interestingly (or maybe not), I have some legacy source jars which are
> > > named
> > > mylib-src.jar. However the problem with that is that IvyDE will not
> like
> > > that unless the names of the actual libs are mylib-src.jar also (which
> > > they
> > > are not, it is mylib.jar). What would be nice is if instead of using
> > > ext="jar", I could use postfix="-src.jar". Obviously "ext" and
> "postfix"
> > > would be mutually exclusive attributes.
> >
> >
> > The name you have is very similar to maven 2 notations which involves
> > another token: classifier. In your case the classifier is "src", and the
> > pattern is:
> > [artifact](-[classifier]).[ext]
> >
> > Classifier is not yet a supported attribute in Ivy, so you need to use
> an
> > extra attribute for this (and disable xsd validation). If validation
> > disabling is a problem, I suggest voting for
> > https://issues.apache.org/jira/browse/IVY-553 or
> > https://issues.apache.org/jira/browse/IVY-521. We will probably have
> > either
> > to implement IVY-553 or make classifier a real ivy attribute before 2.0,
> > because when a pom with a classifier is converted to an ivy file in
> cache,
> > it later cause a validation error when Ivy use the file from the cache.
> So
> > using classifier will be standardized in ivy 2.0 either as a standard
> att
> > or
> > as maven2:classifier attribute (which I would prefer). Hence I recommend
> > using classifier in your case.
> >
> > Xavier
> >
> > Does anyone else think the a postfix attribute would be useful (might be
> > > tricky to implement though)?
> > >
> > > On 7/2/07, Bhatia Saurabh <Bh...@ofac.ch> wrote:
> > > >
> > > > This is a very valid discussion.
> > > >
> > > > What should I do to publish the sources of a war file ?
> > > > Should I name it \source\mylib.war?
> > > >
> > > > -----Message d'origine-----
> > > > De: John Gill [mailto:llignhoj@gmail.com]
> > > > Envoyé: jeudi, 28. juin 2007 13:54
> > > > À: ivy-user@incubator.apache.org
> > > > Objet: Re: Source in eclipse IvyDE
> > > >
> > > > Make sure the name of the source jar is exactly the same name as the
> > > > implementation jar.
> > > >
> > > > For example, if your jar is mylib.jar, then its type would be jar.
> The
> > > > source would be mylib.jar and it's type would be source, and its ext
> > > would
> > > > be jar (or zip if you like).
> > > >
> > > > The same applies for javadoc, if you have a zip of javadoc, then
> it's
> > > name
> > > > would be the mylib.zip, but its type would be javadoc.
> > > >
> > > > So, your repsoitory would have
> > > >
> > > > myorg\mylib\1.0.0\jar\mylib.jar
> > > > myorg\mylib\1.0.0\source\mylib.jar
> > > > myorg\mylib\1.0.0\javadoc\mylib.zip
> > > >
> > > >
> > > > On 6/28/07, Foreman, Alex (IT) <Al...@morganstanley.com>
> > > > wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > I have configured eclipseIDE to use Ivy and it is currently
> > resolving
> > > > > all my complex dependancies. It is imperitive that we have our
> > > sources
> > > > > available for use by developers.
> > > > >
> > > > > I noticed in the ivy preferences page there is a source
> > > attachment. In
> > > > > there I have added 'source'
> > > > > In one library I have added an extra artifact of type 'source' and
> > > > > pointed it to the source jar. However ivy resolves all jars
> > downloads
> > > > > them to the cache but eclipse doesnot view the source code when I
> > view
> > > > > it though its java editor.
> > > > >
> > > > > Have I missed anything out?
> > > > > This would be a real blocker if we cannot view the source
> > > automatically
> > > > > once resolved.
> > > > >
> > > > > Also is there away to remove the cache to enable it to be
> refreshed
> > > via
> > > > > eclipse? Currently I have to go thrugh a file manager and remove
> > the
> > > > > directory by hand then refresh in eclipse.
> > > > >
> > > > > Many thanks,
> > > > >
> > > > > Alex
> > > > > --------------------------------------------------------
> > > > >
> > > > > NOTICE: If received in error, please destroy and notify sender.
> > Sender
> > > > > does not intend to waive confidentiality or privilege. Use of this
> > > email
> > > > is
> > > > > prohibited when received in error.
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Regards,
> > > > John Gill
> > > >
> > >
> > >
> > >
> > > --
> > > Regards,
> > > John Gill
> > >
> >
> >
> >
> > --
> > Xavier Hanin - Independent Java Consultant
> > Creator of Ivy, xooki and xoocode.org
> > More about me: http://xhab.blogspot.com/
> >
>
>
>
> --
> Regards,
> John Gill
>
--
Xavier Hanin - Independent Java Consultant
Creator of Ivy, xooki and xoocode.org
More about me: http://xhab.blogspot.com/
Re: Source [war] in eclipse IvyDE
Posted by John Gill <ll...@gmail.com>.
Ok thanks Xavier. I'll give that a try.
I think that implementing a built in classifier attribute in ivy would be
the way to go, but it would be nice if it could be used even if you aren't
using maven.
On 7/2/07, Xavier Hanin <xa...@gmail.com> wrote:
>
> On 7/2/07, John Gill <ll...@gmail.com> wrote:
> >
> > The extension can be whatever you like. I don't think an extension of
> war
> > is
> > a good idea though. I quite like the idea of using .src.war as the
> > extension.
> >
> > Interestingly (or maybe not), I have some legacy source jars which are
> > named
> > mylib-src.jar. However the problem with that is that IvyDE will not like
> > that unless the names of the actual libs are mylib-src.jar also (which
> > they
> > are not, it is mylib.jar). What would be nice is if instead of using
> > ext="jar", I could use postfix="-src.jar". Obviously "ext" and "postfix"
> > would be mutually exclusive attributes.
>
>
> The name you have is very similar to maven 2 notations which involves
> another token: classifier. In your case the classifier is "src", and the
> pattern is:
> [artifact](-[classifier]).[ext]
>
> Classifier is not yet a supported attribute in Ivy, so you need to use an
> extra attribute for this (and disable xsd validation). If validation
> disabling is a problem, I suggest voting for
> https://issues.apache.org/jira/browse/IVY-553 or
> https://issues.apache.org/jira/browse/IVY-521. We will probably have
> either
> to implement IVY-553 or make classifier a real ivy attribute before 2.0,
> because when a pom with a classifier is converted to an ivy file in cache,
> it later cause a validation error when Ivy use the file from the cache. So
> using classifier will be standardized in ivy 2.0 either as a standard att
> or
> as maven2:classifier attribute (which I would prefer). Hence I recommend
> using classifier in your case.
>
> Xavier
>
> Does anyone else think the a postfix attribute would be useful (might be
> > tricky to implement though)?
> >
> > On 7/2/07, Bhatia Saurabh <Bh...@ofac.ch> wrote:
> > >
> > > This is a very valid discussion.
> > >
> > > What should I do to publish the sources of a war file ?
> > > Should I name it \source\mylib.war?
> > >
> > > -----Message d'origine-----
> > > De: John Gill [mailto:llignhoj@gmail.com]
> > > Envoyé: jeudi, 28. juin 2007 13:54
> > > À: ivy-user@incubator.apache.org
> > > Objet: Re: Source in eclipse IvyDE
> > >
> > > Make sure the name of the source jar is exactly the same name as the
> > > implementation jar.
> > >
> > > For example, if your jar is mylib.jar, then its type would be jar. The
> > > source would be mylib.jar and it's type would be source, and its ext
> > would
> > > be jar (or zip if you like).
> > >
> > > The same applies for javadoc, if you have a zip of javadoc, then it's
> > name
> > > would be the mylib.zip, but its type would be javadoc.
> > >
> > > So, your repsoitory would have
> > >
> > > myorg\mylib\1.0.0\jar\mylib.jar
> > > myorg\mylib\1.0.0\source\mylib.jar
> > > myorg\mylib\1.0.0\javadoc\mylib.zip
> > >
> > >
> > > On 6/28/07, Foreman, Alex (IT) <Al...@morganstanley.com>
> > > wrote:
> > > >
> > > > Hi,
> > > >
> > > > I have configured eclipseIDE to use Ivy and it is currently
> resolving
> > > > all my complex dependancies. It is imperitive that we have our
> > sources
> > > > available for use by developers.
> > > >
> > > > I noticed in the ivy preferences page there is a source
> > attachment. In
> > > > there I have added 'source'
> > > > In one library I have added an extra artifact of type 'source' and
> > > > pointed it to the source jar. However ivy resolves all jars
> downloads
> > > > them to the cache but eclipse doesnot view the source code when I
> view
> > > > it though its java editor.
> > > >
> > > > Have I missed anything out?
> > > > This would be a real blocker if we cannot view the source
> > automatically
> > > > once resolved.
> > > >
> > > > Also is there away to remove the cache to enable it to be refreshed
> > via
> > > > eclipse? Currently I have to go thrugh a file manager and remove
> the
> > > > directory by hand then refresh in eclipse.
> > > >
> > > > Many thanks,
> > > >
> > > > Alex
> > > > --------------------------------------------------------
> > > >
> > > > NOTICE: If received in error, please destroy and notify sender.
> Sender
> > > > does not intend to waive confidentiality or privilege. Use of this
> > email
> > > is
> > > > prohibited when received in error.
> > > >
> > >
> > >
> > >
> > > --
> > > Regards,
> > > John Gill
> > >
> >
> >
> >
> > --
> > Regards,
> > John Gill
> >
>
>
>
> --
> Xavier Hanin - Independent Java Consultant
> Creator of Ivy, xooki and xoocode.org
> More about me: http://xhab.blogspot.com/
>
--
Regards,
John Gill
Re: Source [war] in eclipse IvyDE
Posted by Xavier Hanin <xa...@gmail.com>.
On 7/2/07, John Gill <ll...@gmail.com> wrote:
>
> The extension can be whatever you like. I don't think an extension of war
> is
> a good idea though. I quite like the idea of using .src.war as the
> extension.
>
> Interestingly (or maybe not), I have some legacy source jars which are
> named
> mylib-src.jar. However the problem with that is that IvyDE will not like
> that unless the names of the actual libs are mylib-src.jar also (which
> they
> are not, it is mylib.jar). What would be nice is if instead of using
> ext="jar", I could use postfix="-src.jar". Obviously "ext" and "postfix"
> would be mutually exclusive attributes.
The name you have is very similar to maven 2 notations which involves
another token: classifier. In your case the classifier is "src", and the
pattern is:
[artifact](-[classifier]).[ext]
Classifier is not yet a supported attribute in Ivy, so you need to use an
extra attribute for this (and disable xsd validation). If validation
disabling is a problem, I suggest voting for
https://issues.apache.org/jira/browse/IVY-553 or
https://issues.apache.org/jira/browse/IVY-521. We will probably have either
to implement IVY-553 or make classifier a real ivy attribute before 2.0,
because when a pom with a classifier is converted to an ivy file in cache,
it later cause a validation error when Ivy use the file from the cache. So
using classifier will be standardized in ivy 2.0 either as a standard att or
as maven2:classifier attribute (which I would prefer). Hence I recommend
using classifier in your case.
Xavier
Does anyone else think the a postfix attribute would be useful (might be
> tricky to implement though)?
>
> On 7/2/07, Bhatia Saurabh <Bh...@ofac.ch> wrote:
> >
> > This is a very valid discussion.
> >
> > What should I do to publish the sources of a war file ?
> > Should I name it \source\mylib.war?
> >
> > -----Message d'origine-----
> > De: John Gill [mailto:llignhoj@gmail.com]
> > Envoyé: jeudi, 28. juin 2007 13:54
> > À: ivy-user@incubator.apache.org
> > Objet: Re: Source in eclipse IvyDE
> >
> > Make sure the name of the source jar is exactly the same name as the
> > implementation jar.
> >
> > For example, if your jar is mylib.jar, then its type would be jar. The
> > source would be mylib.jar and it's type would be source, and its ext
> would
> > be jar (or zip if you like).
> >
> > The same applies for javadoc, if you have a zip of javadoc, then it's
> name
> > would be the mylib.zip, but its type would be javadoc.
> >
> > So, your repsoitory would have
> >
> > myorg\mylib\1.0.0\jar\mylib.jar
> > myorg\mylib\1.0.0\source\mylib.jar
> > myorg\mylib\1.0.0\javadoc\mylib.zip
> >
> >
> > On 6/28/07, Foreman, Alex (IT) <Al...@morganstanley.com>
> > wrote:
> > >
> > > Hi,
> > >
> > > I have configured eclipseIDE to use Ivy and it is currently resolving
> > > all my complex dependancies. It is imperitive that we have our
> sources
> > > available for use by developers.
> > >
> > > I noticed in the ivy preferences page there is a source
> attachment. In
> > > there I have added 'source'
> > > In one library I have added an extra artifact of type 'source' and
> > > pointed it to the source jar. However ivy resolves all jars downloads
> > > them to the cache but eclipse doesnot view the source code when I view
> > > it though its java editor.
> > >
> > > Have I missed anything out?
> > > This would be a real blocker if we cannot view the source
> automatically
> > > once resolved.
> > >
> > > Also is there away to remove the cache to enable it to be refreshed
> via
> > > eclipse? Currently I have to go thrugh a file manager and remove the
> > > directory by hand then refresh in eclipse.
> > >
> > > Many thanks,
> > >
> > > Alex
> > > --------------------------------------------------------
> > >
> > > NOTICE: If received in error, please destroy and notify sender. Sender
> > > does not intend to waive confidentiality or privilege. Use of this
> email
> > is
> > > prohibited when received in error.
> > >
> >
> >
> >
> > --
> > Regards,
> > John Gill
> >
>
>
>
> --
> Regards,
> John Gill
>
--
Xavier Hanin - Independent Java Consultant
Creator of Ivy, xooki and xoocode.org
More about me: http://xhab.blogspot.com/
Re: Source [war] in eclipse IvyDE
Posted by John Gill <ll...@gmail.com>.
The extension can be whatever you like. I don't think an extension of war is
a good idea though. I quite like the idea of using .src.war as the
extension.
Interestingly (or maybe not), I have some legacy source jars which are named
mylib-src.jar. However the problem with that is that IvyDE will not like
that unless the names of the actual libs are mylib-src.jar also (which they
are not, it is mylib.jar). What would be nice is if instead of using
ext="jar", I could use postfix="-src.jar". Obviously "ext" and "postfix"
would be mutually exclusive attributes.
Does anyone else think the a postfix attribute would be useful (might be
tricky to implement though)?
On 7/2/07, Bhatia Saurabh <Bh...@ofac.ch> wrote:
>
> This is a very valid discussion.
>
> What should I do to publish the sources of a war file ?
> Should I name it \source\mylib.war?
>
> -----Message d'origine-----
> De: John Gill [mailto:llignhoj@gmail.com]
> Envoyé: jeudi, 28. juin 2007 13:54
> À: ivy-user@incubator.apache.org
> Objet: Re: Source in eclipse IvyDE
>
> Make sure the name of the source jar is exactly the same name as the
> implementation jar.
>
> For example, if your jar is mylib.jar, then its type would be jar. The
> source would be mylib.jar and it's type would be source, and its ext would
> be jar (or zip if you like).
>
> The same applies for javadoc, if you have a zip of javadoc, then it's name
> would be the mylib.zip, but its type would be javadoc.
>
> So, your repsoitory would have
>
> myorg\mylib\1.0.0\jar\mylib.jar
> myorg\mylib\1.0.0\source\mylib.jar
> myorg\mylib\1.0.0\javadoc\mylib.zip
>
>
> On 6/28/07, Foreman, Alex (IT) <Al...@morganstanley.com>
> wrote:
> >
> > Hi,
> >
> > I have configured eclipseIDE to use Ivy and it is currently resolving
> > all my complex dependancies. It is imperitive that we have our sources
> > available for use by developers.
> >
> > I noticed in the ivy preferences page there is a source attachment. In
> > there I have added 'source'
> > In one library I have added an extra artifact of type 'source' and
> > pointed it to the source jar. However ivy resolves all jars downloads
> > them to the cache but eclipse doesnot view the source code when I view
> > it though its java editor.
> >
> > Have I missed anything out?
> > This would be a real blocker if we cannot view the source automatically
> > once resolved.
> >
> > Also is there away to remove the cache to enable it to be refreshed via
> > eclipse? Currently I have to go thrugh a file manager and remove the
> > directory by hand then refresh in eclipse.
> >
> > Many thanks,
> >
> > Alex
> > --------------------------------------------------------
> >
> > NOTICE: If received in error, please destroy and notify sender. Sender
> > does not intend to waive confidentiality or privilege. Use of this email
> is
> > prohibited when received in error.
> >
>
>
>
> --
> Regards,
> John Gill
>
--
Regards,
John Gill