[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-04 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13786425#comment-13786425
 ] 

ASF subversion and git services commented on LUCENE-5257:
-

Commit 1529243 from [~steve_rowe] in branch 'dev/trunk'
[ https://svn.apache.org/r1529243 ]

LUCENE-5257: Lock down centralized versioning of ivy dependencies

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor
 Attachments: LUCENE-5257.patch, LUCENE-5257.patch, LUCENE-5257.patch


 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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



[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-04 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13786438#comment-13786438
 ] 

ASF subversion and git services commented on LUCENE-5257:
-

Commit 1529246 from [~steve_rowe] in branch 'dev/trunk'
[ https://svn.apache.org/r1529246 ]

LUCENE-5257: Fix top-level validate target subant invocation syntax

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor
 Attachments: LUCENE-5257.patch, LUCENE-5257.patch, LUCENE-5257.patch


 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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



[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-04 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13786458#comment-13786458
 ] 

ASF subversion and git services commented on LUCENE-5257:
-

Commit 1529248 from [~steve_rowe] in branch 'dev/branches/branch_4x'
[ https://svn.apache.org/r1529248 ]

LUCENE-5257: Lock down centralized versioning of ivy dependencies (merged trunk 
r1529243 and r1529246)

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor
 Attachments: LUCENE-5257.patch, LUCENE-5257.patch, LUCENE-5257.patch


 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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



[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-04 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13786466#comment-13786466
 ] 

ASF subversion and git services commented on LUCENE-5257:
-

Commit 1529250 from [~steve_rowe] in branch 'dev/branches/branch_4x'
[ https://svn.apache.org/r1529250 ]

LUCENE-5257: merge CHANGES.txt entry with LUCENE-5249's entry (merged trunk 
r1529249)

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor
 Attachments: LUCENE-5257.patch, LUCENE-5257.patch, LUCENE-5257.patch


 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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



[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-04 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13786463#comment-13786463
 ] 

ASF subversion and git services commented on LUCENE-5257:
-

Commit 1529249 from [~steve_rowe] in branch 'dev/trunk'
[ https://svn.apache.org/r1529249 ]

LUCENE-5257: merge CHANGES.txt entry with LUCENE-5249's entry

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor
 Attachments: LUCENE-5257.patch, LUCENE-5257.patch, LUCENE-5257.patch


 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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



[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-02 Thread Robert Muir (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13784229#comment-13784229
 ] 

Robert Muir commented on LUCENE-5257:
-

{quote}
The problem remains that there may eventually be a requirement to use different 
3rd party libs in different modules. Any form of lockdown here should allow for 
this possibility. 
{quote}

Not a chance. -1 to jar hell.

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor

 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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



[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-02 Thread Steve Rowe (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13784266#comment-13784266
 ] 

Steve Rowe commented on LUCENE-5257:


bq. Not a chance. -1 to jar hell.

Cool, makes this issue easier. 

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor

 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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



[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-02 Thread Hoss Man (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13784328#comment-13784328
 ] 

Hoss Man commented on LUCENE-5257:
--

FWIW: the idea that we _might_ down the road want to allow moduleA to depends 
on third-party-2.0.jar while unrelated moduleB depends on third-party-3.0.jar 
came from a mental exercise of if we lock this down with a build failure now, 
how will we deal with it if we decide we want to allow it in some special case 
later?

but i agree: even if moduleA and moduleB have no dependencies on eachother, and 
no other moduleC exists that depends on both moduleA and moduleB it's still a 
bad idea to let moduleA and moduleB depend on diff versions of third-party.jar 
since some downstream client of lucene/solr might want to use both moduleA and 
moduleB.

more importantly: we can lock this down with a build failure now, and if we do 
ever change out mind, we have an idea here of how to tweak the rules to allow 
special exceptions in a way that's non-sneaky and really obvious ... but unless 
someone is clamoring for it, i say we help our users avoid classpath hell just 
as much as we want to.

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor

 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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



[jira] [Commented] (LUCENE-5257) Lock down centralized versioning of ivy dependencies

2013-10-02 Thread Robert Muir (JIRA)

[ 
https://issues.apache.org/jira/browse/LUCENE-5257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13784349#comment-13784349
 ] 

Robert Muir commented on LUCENE-5257:
-

Let me clarify what i mean by jar hell:

if we want to add exceptions because someone jacked up their maven coordinates 
or some other reason, when in fact its not jar hell, to me thats different 
than declaring we will allow exceptions for jar hell.

For example: some stuff depends on jetty6 (org.mortbay.jetty) and other stuff 
depends on jetty8 (org.eclipse.jetty). This isn't jar hell, because the 
packages are totally different in the jar files so they don't conflict. They 
also renamed the coordinates to org.eclipse.jetty to match.

But i think we shouldnt allow true jar hell (where the stuff inside the jars 
conflict). People should be able to pick and choose what stuff they want to use 
and use it, and we shouldnt ship a release with jar hell.

I would also like to explore adding a jar hell detector in the future to our 
smoketester, that unzips all jar files and fails if e.g. any .class (maybe even 
resources outside of META-INF) conflict. I think we should try to improve our 
build with checks like this, but if we allow for jar hell exceptions it makes 
such a check extremely difficult or impossible.

 Lock down centralized versioning of ivy dependencies
 

 Key: LUCENE-5257
 URL: https://issues.apache.org/jira/browse/LUCENE-5257
 Project: Lucene - Core
  Issue Type: Improvement
  Components: general/build
Reporter: Steve Rowe
Assignee: Steve Rowe
Priority: Minor

 LUCENE-5249 introduced centralized versioning of 3rd party dependencies and 
 converted all ivy.xml files across Lucene/Solr to use this scheme.  But there 
 is nothing preventing people from ignoring this setup and (intentionally or 
 not) introducing non-centralized dependency versions.
 SOLR-3664 discusses the problem of out-of-sync 3rd party dependencies between 
 Lucene/Solr modules.  Centralized versioning makes synchronization problems 
 less likely but not impossible.
 One fairly simple way to ensure that all modules use the same version of 3rd 
 party deps would be to require that all deps in ivy.xml would have to use the 
 {{rev=$\{/org/name}}} syntax, via a validation script. 
 The problem remains that there may eventually be a *requirement* to use 
 different 3rd party libs in different modules.  Any form of lockdown here 
 should allow for this possibility.  Hoss's suggestion from a conversation on 
 #lucene IRC earlier today:
 {noformat}
   hoss perhaps exceptions could be by naming convetion
 sarowe can you give an example?
   hoss ie: variables must match either ${group}/${artifact} or they must 
 match
  /VERSION_MISTMATCH_EXCEPTION/${group}/${artifact}
 sarowe nice idea
  no external config required
   hoss right
  and it has to be real obvious when you are bucking convention
   hoss or better yet: ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION
  ... and there is another check that the version file is in ascii 
 order
  so you are garuntted that it has to be right there in the versions 
 file
  one line after ${group}/${artifact}
 sarowe i like it
   hoss no change someone updating ${group}/${artifact} won't notice it
  i suppose really it should be
  ${group}/${artifact}/VERSION_MISTMATCH_EXCEPTION/${reason}
  ... since you might have more then one exception per 
 ${group}/${artifact}
  but now i'm just making things up w/o evn really understanding
  the conventions you've alreay put in place
 sarowe :)
   hoss you get the idea
 sarowe yes
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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