Skip to content
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

Allow overriding Java/Kotlin package name in codegen #456

Open
netvl opened this issue Apr 26, 2024 · 0 comments · May be fixed by #499
Open

Allow overriding Java/Kotlin package name in codegen #456

netvl opened this issue Apr 26, 2024 · 0 comments · May be fixed by #499

Comments

@netvl
Copy link

netvl commented Apr 26, 2024

Currently the package name for the classes generated from Pkl modules (when using the Gradle plugin or the CLI) is always derived from the module name defined within the Pkl module file:

open module org.example.Whatever

This is, however, not very flexible, because there are use cases when the module name's prefix and the desired Java/Kotlin package name may differ. For example, when publishing Pkl packages (with PklProject) it is expected that the module name prefix matches the Pkl package name:

// Within package://some-repo.com/some-org/[email protected]#/SomeModule.pkl:

open module some_package.SomeModule

...

However, if a project already uses some particular JVM package name, it would be necessary either to change the Pkl package name:

package://some-repo.com/some-org/[email protected]#/SomeModule.pkl

which is often inconvenient, or to live with the fact that Java classes will have different package names.

It would be nice if there was an option to override the generated classes' package name via a CLI argument or via a Gradle configuration option:

pkl.javaCodeGenerators.create("someClasses") {
    packageMappings.put("some_package", "com.some.org.config")
}
@netvl netvl linked a pull request May 17, 2024 that will close this issue
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant