maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Igor Fedorenko <i...@ifedorenko.com>
Subject Re: [VOTE] Maven 3.2.4 Release
Date Sat, 13 Dec 2014 14:44:30 GMT
I've already reintroduced DefaultJavaToolChain and Tycho is happy now [1].

Tycho needs access to DefaultJavaToolChain#getJavaHome() which, to the
best of my knowledge, is not available from any other API, is not
available through ToolchainManager.

I don't believe Tycho references JavaToolChain interface. As a side
note, in the future we should avoid case-only renames like
JavaToolChain->JavaToolchain, these cause problems on case-insensitive
filesystems, like the ones used by Windows and OSX.

We don't distinguish between public and internal classes in Maven, at
least not generally. There are few classes that are explicitly marked as
@provisional, like ArtifactDescriptorReaderDelegate for example, but
this is not enforced and majority of classes are not marked in any way.
I agree we need to have a mechanism to distinguish between public and
internal classes and I have few ideas to do this, but I don't think we
can do this retroactively. We have to keep most/all existing classes and
treat them as public API, unfortunately. Maybe mark them as deprecated
when we know we will likely change them in the future, but any real
change has to wait Maven 4, and I am not sure we'll be able to afford
massive breakage even then.

[1] 
https://git-wip-us.apache.org/repos/asf?p=maven.git;a=commit;h=d6e45a5d56ab0facd36751ccee722db6a2006f50

--
Regards,
Igor

On 2014-12-13, 9:04, Hervé BOUTEMY wrote:
> ok, I had a look at Tycho sources:
> this is something introduced recently (10/10/2014): IIUC, Tycho 0.22.0 was
> released since then
>
> I'm surprised of tycho-core's ToolchainProvider: IIUC, that's a rewrite of a
> part of maven-toochains-plugin, depending on ToolchainManagerPrivate which is
> not part of public API
> IIUC, the intent was to get the configured toolchain: since then, I wrote a
> little doc for that [1] to show how to use ToolchainManager to do exactly that
> using normal Maven API
>
> Notice this won't fix everything, since:
> 1. Tycho needs JavaToochain, which has been renamed (Toolchain vs ToolChain)
> 2. the interface doesn't offer expected getJavaHome() API
>
>
> Then you'll need to cast to DefaultJavaToolChain, which will need to be added
> back to maven-core: I'll do it immediately.
>
> I don't know the Tycho community, but using ToolchainManager would IMHO be
> more future-proof than writing ToolchainProvider
>
> Regards,
>
> Hervé
>
>
> [1] http://maven.apache.org/plugins/maven-toolchains-plugin/toolchains/custom.html
>
>
> Le samedi 13 décembre 2014 09:13:50 Hervé BOUTEMY a écrit :
>> DefaultJavaToolChain? you mean the implementation?
>>
>> Can you give me pointers to the Tycho sources that use this API?
>> (that's clearly not expected)
>>
>> I'm in favor of introducing deprecated DefaultJavaToolChain
>> that extends the new implementation, which is easy to do: just need to
>> understand how it is used in Tycho, since the class is supposed to be used
>> by JavaToolchainFactory (on only this one).
>>
>> Regards,
>>
>> Hervé
>>
>> Le vendredi 12 décembre 2014 18:38:44 Igor Fedorenko a écrit :
>>> Unfortunately, I have to take this back. The changes to toolchain
>>> broke Tycho and, short of using reflection, I don't see how
>>> to make Tycho work with maven 3.2.4 and earlier versions of Maven.
>>>
>>> For better or worse,
>>> org.apache.maven.toolchain.java.DefaultJavaToolChain was part of
>>> Maven API since 2.x and I don't think we can just remove the class.
>>>
>>> I see two ways to fix this. Either we rename the classes back, which is
>>> probably the easiest. Or we introduce deprecated DefaultJavaToolChain
>>> that extends the new implementation.
>>>
>>> Here is my -1 for releasing 3.2.4 in its current state.
>>>
>>> --
>>> Regards,
>>> Igor
>>>
>>> On 2014-12-12, 18:01, Igor Fedorenko wrote:
>>>> +1
>>>>
>>>> --
>>>> Regards,
>>>> Igor
>>>>
>>>> On 2014-12-12, 16:54, Jason van Zyl wrote:
>>>>> Hi,
>>>>>
>>>>> Time to release Maven 3.2.4!
>>>>>
>>>>> Here is a link to Jira with 20 issues resolved:
>>>>> https://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10500&versi
>>>>> on
>>>>> =20574
>>>>>
>>>>>
>>>>> Staging repo:
>>>>> https://repository.apache.org/content/repositories/maven-1102/
>>>>>
>>>>> The distributable binaries and sources for testing can be found here:
>>>>> https://repository.apache.org/content/repositories/maven-1102/org/apach
>>>>> e/
>>>>> maven/apache-maven/3.2.4/
>>>>>
>>>>>
>>>>> Specifically the zip, tarball, and source archives can be found here:
>>>>> https://repository.apache.org/content/repositories/maven-1102/org/apach
>>>>> e/
>>>>> maven/apache-maven/3.2.4/apache-maven-3.2.4-bin.zip
>>>>>
>>>>> https://repository.apache.org/content/repositories/maven-1102/org/apach
>>>>> e/
>>>>> maven/apache-maven/3.2.4/apache-maven-3.2.4-bin.tar.gz
>>>>>
>>>>> https://repository.apache.org/content/repositories/maven-1102/org/apach
>>>>> e/
>>>>> maven/apache-maven/3.2.4/apache-maven-3.2.4-src.zip
>>>>>
>>>>> https://repository.apache.org/content/repositories/maven-1102/org/apach
>>>>> e/
>>>>> maven/apache-maven/3.2.4/apache-maven-3.2.4-src.tar.gz
>>>>>
>>>>>
>>>>> Source release checksum(s):
>>>>> apache-maven-3.2.4-src.zip sha1:
>>>>> db5fb9feda693f05fe7effaf096d6cd4dd5eff44
>>>>>
>>>>> Staging site:
>>>>> http://takari.io/maven-3.2.4/
>>>>>
>>>>> Vote open for 72 hours.
>>>>>
>>>>> [ ] +1
>>>>> [ ] +0
>>>>> [ ] -1
>>>>>
>>>>> Thanks,
>>>>>
>>>>> The Maven Team
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: dev-help@maven.apache.org
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: dev-help@maven.apache.org
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
>> For additional commands, e-mail: dev-help@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>

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


Mime
View raw message