-
Notifications
You must be signed in to change notification settings - Fork 8
Wire convention plugins into Toolkit and Microapp modules #970
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: toolkit/migrate-convention-plugins
Are you sure you want to change the base?
Wire convention plugins into Toolkit and Microapp modules #970
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wow that's a lot of work! I have noted some things I noticed.
* | ||
* @param target The Gradle Project to which the dependency will be added. | ||
*/ | ||
fun configureArcGISMapsDependencies(target: Project) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this needs to configure the sdk as an api
or implementation
dependency depending on how it is used. Most if not all of the released components have the sdk as an api
dependency.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like microapps were only configured to use an implementation
dependency, should we be safe to use an api
dependency throughout? (toolkit & microapps) Since we don't manage publishing of the microapps it shouldn't change anything in the gradle builds.
version("mapsSdk", versionAndBuild) | ||
library("mapsSdk", "com.esri", "arcgis-maps-kotlin").versionRef("mapsSdk") | ||
} | ||
} | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that the logic below here that generates project names in your original branch needs to be reverted because it misnames some projects.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah seems like few microapps do not follow the naming pattern (-
). I will add this to the consideration list, reverted to original for now.
* @param target The Gradle Project to which the dependency will be added. | ||
*/ | ||
fun configureArcGISMapsDependencies(target: Project) { | ||
target.dependencies { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this logic needs to take into account finalBuild
as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added custom logic to ignore buildNumber
if gradle property finalBuild
is used. 👍
@@ -1,7 +1,7 @@ | |||
[versions] | |||
|
|||
# ArcGIS Maps SDK for Kotlin version | |||
arcgisMapsKotlinVersion = "300.0.0-4689" | |||
arcgisMapsKotlinVersion = "300.0.0-4695" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should just be the last released version, 200.8.0, so that builds by github users outside of our network will work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we plan to eventually merge these changes to the Toolkit v.next
, I would suppose only contributors would be cloning the branch, i.e. we would need the configured SDK version to be a 300.x daily build. In sample's we typically use a recent build updated in our v.next libs.
When releasing to main
(during v.next
merge) we update this arcgisMapsKotlinVersion
in the libs to point to the final build version, ensuring for Github users outside of our network the project works.
tasks.withType<Test> { | ||
enabled = false | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this seems like it was lost here and in a couple of app projects?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, added back for :basemapgallery
& :popup
modules. 👍
public final fun copy (Lcom/arcgismaps/httpcore/authentication/IapSignIn;)Lcom/arcgismaps/toolkit/authentication/BrowserAuthenticationChallenge$IapSignIn; | ||
public static synthetic fun copy$default (Lcom/arcgismaps/toolkit/authentication/BrowserAuthenticationChallenge$IapSignIn;Lcom/arcgismaps/httpcore/authentication/IapSignIn;ILjava/lang/Object;)Lcom/arcgismaps/toolkit/authentication/BrowserAuthenticationChallenge$IapSignIn; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change seems to have been surfaced due to the compiler arg -Xconsistent-data-class-copy-visibility
used in the ArcGISMapsKotlinToolkitConventionPlugin
. Should this be an acceptable .api
change?
Related to issue: #5708
Description:
PR to migrate and wire all convention plugins into the Toolkit and Microapp modules.
Pre-merge Checklist
https://runtime-kotlin.esri.com/view/all/job/vtest/job/toolkit/891/https://runtime-kotlin.esri.com/view/all/job/vtest/job/toolkit/894/basemapgallery
&popup
&template
...)