For reference to the Atlassians who may be collecting feedback on this thread, what @KsaweryBuczkowski is referring to is the fact that the out-of-the-box AMPS does not work to build (for example) Confluence 8.8+ apps, or anything else depending on the new platform. This is because vendors are now required to bundle artifacts that were previously system-provided, but the default AMPS configuration actively prevents developers from bundling these (meaning the build fails), unless certain exceptions are added to the POM.
In short, the provided tooling doesnât even work unless one dives into various CDAC threads to figure out how to fix it.
Well thatâs a bit of the point, if Atlassian eats their own food they will discover such problems, so I would very much want to see an example app that uses multiple dependencies that are being deprecated (wrong or not) so it will fail when they attempt to run it on f. eks. Confluence 9 EAP.
I think itâs a minimum requirement to do these kind of proof of concept inhouse before you announce it to the ecosystem.
And change the list:
com.atlassian.maven.plugins.amps.BannedDependencies#PLATFORM_DEPENDENCIES
In order to get a build, I would think itâs much better if that was provided so each vendor doesnât have to do this.
OK and what about JS changes.
In the console I can see:
Use of window._ through AUI is deprecated and will be removed in AUI 10.0.0
Use of window.Backbone through AUI is deprecated and will be removed in AUI 10.0.0
DEPRECATED JS - JQuery.fn.spinStop has been deprecated since 7.9.4 and will be removed in 10.0.0. Use instead.
DEPRECATED undefined - AJS.params has been deprecated since 9.0.0 and will be removed in 10.0.0.
DEPRECATED JS - PopulateParameters has been deprecated since 9.0.0 and will be removed in 10.0.0.
DEPRECATED JS - Inline dialog constructor has been deprecated and will be removed in a future release. Use inline dialog 2 instead.
So do you plan to change frontend implementation technology, structure, or something?
Any plans to migrate boards or issue search navigator to react or new components?
@MalathiVangalapati or @MarekTokarski Can we expect a response regarding the various messages present in the browser console related to JavaScript?
Weâre not looking to do AUI 10 in Platform 7. It may come for Platform 8, but there will be a heads up, consultation, etc. Please do address all of those warnings if theyâre a result of the plugin youâre working on, some of the warnings are a result of our own productsâ code too. Itâs likely that focusing on Platform 7 / the next major version [of whatever products you support] is more important to you though.
Internally weâll route questions to the right team for you, but if youâd like a faster answer about AUI, itâs best to tag me or put the âauiâ label on a new topic (if you make one)
Appreciated this! I just have a question wish I could get some help from anyone here. As what this post guided, we started to opt-in the platform 6.5 changes by adding the dependency to ensure our application continue work with Confluence 8.8:
The version of the Confluence we test with the changes is v8.8.0-rc1, we get a org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'txTemplate' error when installing our plugin in, here is the full stacktrace:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'txTemplate': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalArgumentException: org.springframework.core.InfrastructureProxy referenced from a method is not visible from class loader
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:176)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:101)
at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1884)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getObjectForBeanInstance(AbstractAutowireCapableBeanFactory.java:1284)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:267)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:950)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:57)
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:322)
at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
at org.eclipse.gemini.blueprint.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:287)
at org.eclipse.gemini.blueprint.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:137)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalArgumentException: org.springframework.core.InfrastructureProxy referenced from a method is not visible from class loader
at java.base/java.lang.reflect.Proxy$ProxyBuilder.ensureVisible(Proxy.java:858)
at java.base/java.lang.reflect.Proxy$ProxyBuilder.validateProxyInterfaces(Proxy.java:681)
at java.base/java.lang.reflect.Proxy$ProxyBuilder.<init>(Proxy.java:627)
at java.base/java.lang.reflect.Proxy.lambda$getProxyConstructor$1(Proxy.java:426)
at java.base/jdk.internal.loader.AbstractClassLoaderValue$Memoizer.get(AbstractClassLoaderValue.java:329)
at java.base/jdk.internal.loader.AbstractClassLoaderValue.computeIfAbsent(AbstractClassLoaderValue.java:205)
at java.base/java.lang.reflect.Proxy.getProxyConstructor(Proxy.java:424)
at java.base/java.lang.reflect.Proxy.newProxyInstance(Proxy.java:1006)
at org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(JdkDynamicAopProxy.java:126)
at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ProxyUtils.createProxy(ProxyUtils.java:68)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ProxyUtils.createProxy(ProxyUtils.java:37)
at org.eclipse.gemini.blueprint.service.importer.support.AbstractServiceProxyCreator.createServiceProxy(AbstractServiceProxyCreator.java:105)
at org.eclipse.gemini.blueprint.service.importer.support.OsgiServiceProxyFactoryBean.createProxy(OsgiServiceProxyFactoryBean.java:176)
at org.eclipse.gemini.blueprint.service.importer.support.AbstractServiceImporterProxyFactoryBean.getObject(AbstractServiceImporterProxyFactoryBean.java:95)
at org.eclipse.gemini.blueprint.service.importer.support.OsgiServiceProxyFactoryBean.getObject(OsgiServiceProxyFactoryBean.java:122)
at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:169)
... 15 more
@Leon, not directly related to com.atlassian.sal.api, but seeing that youâre still using <component-import> â aka. old-school âtransformedâ plugins and not using Spring-Scanner or similar techniques:
I urge you to take a look at the findings on Preparing for Confluence 9.0 - EAP coming soon - #43 by AndreasEbert
In short: Iâm afraid the old-school way wonât work anymore â We/you have to switch to Spring-Scanner (or similar techniques).
We reviewed the original list of third-party dependencies we wanted to remove in Platform 7. Finally, we made the decision to export Jackson 2 components to the Plugin System: