My application still runs on 5.4-beta-6 due to various breaking component
changes introduced in later versions. I'm quite happy with it, but I'm
getting concerned about outdated upstream dependencies (like Hibernate).

So I did the following:

   - upgraded everything to 5.4.5, adding tapestry-core to exclusions
   - added tapestry-core 5.4-beta-6 as a separate Maven dependency and
   excluded its upstream dependencies to other components.

Full dependency tree:

[*INFO*] com.xdance:eventdirector:jar:1.73

[*INFO*] +- org.apache.tapestry:tapestry-hibernate:jar:5.4.5:compile

[*INFO*] |  \- org.apache.tapestry:tapestry-hibernate-core:jar:5.4.5:compile

[*INFO*] |     \- org.apache.tapestry:tapestry-ioc:jar:5.4.5:compile

[*INFO*] |        +- org.apache.tapestry:tapestry-func:jar:5.4.5:compile

[*INFO*] |        +-
org.apache.tapestry:tapestry5-annotations:jar:5.4.5:compile

[*INFO*] |        +- org.apache.tapestry:plastic:jar:5.4.5:compile

[*INFO*] |        \- org.apache.tapestry:beanmodel:jar:5.4.5:compile

[*INFO*] |           \- org.apache.tapestry:commons:jar:5.4.5:compile

[*INFO*] +- org.apache.tapestry:tapestry-upload:jar:5.4.5:compile

[*INFO*] +- org.apache.tapestry:tapestry-javadoc:jar:5.4.5:provided

[*INFO*] +- org.apache.tapestry:tapestry-kaptcha:jar:5.3.7:compile

[*INFO*] +- org.apache.tapestry:tapestry-json:jar:5.4.5:compile

[*INFO*] \- org.apache.tapestry:tapestry-core:jar:5.4-beta-6:compile


The resulting hybrid of 5.4.5 and 5.4-beta-6 seems to work fine (although I
didn't test everything yet).

I have a question to Thiago, Lance and other committers - do you guys see
any potential issues with this approach? Anything I might be missing?

On a related note: would it be possible to consider releasing
*tapestry-corelib* (core components) as a completely separate artifact?
This would make the maintenance a ton easier for edge cases like mine (when
updating to the latest components has a prohibitive cost).

Sincerely,
-- 
Ilya Obshadko

Reply via email to