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

Generated Utilities.java file does not use the language.java.basePackage property #1110

Closed
hansbarnard opened this issue May 24, 2023 · 6 comments · Fixed by #1362
Closed
Assignees
Labels
area/codegen kind/bug Some behavior is incorrect or out of spec resolution/fixed This issue was fixed

Comments

@hansbarnard
Copy link

What happened?

I set the java basePackage property in the schema.json file as follows:

    "language": {
        "java": {
            "basePackage": "com.xxxxx",
...

When using this plugin the generated java SDK fails with an Exception because it cannot find the file version.txt. It is expecting the file on the classpath at com/pulumi/ipidp/version.txt. Instead this file is on the classpath at com/pulumi/xxxxx/version.txt.

The problem is that the generated java class sdk/java/src/main/java/com/xxxxx/ipidp/Utilities.java is hardcoded to expect this file at com/pulumi/ipidp/version.txt.

Expected Behavior

The generated java class sdk/java/src/main/java/com/xxxxx/ipidp/Utilities.java should use the basePackage property to resolve the version.txt file.

Steps to reproduce

Clone the repo https://github.com/hansbarnard/pulumi-test-java, and execute make build_java.

Inspect line 78 in the generated Utilities.java file: https://github.com/hansbarnard/pulumi-test-java/blob/main/sdk/java/src/main/java/com/xxxxx/ipidp/Utilities.java#L78

Output of pulumi about

Not applicable

Additional context

Using java-gen v0.9.3

Contributing

Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

@hansbarnard hansbarnard added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team labels May 24, 2023
@Frassle Frassle added area/codegen and removed needs-triage Needs attention from the triage team labels May 26, 2023
@muhlba91
Copy link

muhlba91 commented Jun 7, 2023

i can confirm this. the result in my case is:

    static {
        var resourceName = "com/pulumi/proxmoxve/version.txt";
        var versionFile = Utilities.class.getClassLoader().getResourceAsStream(resourceName);
        if (versionFile == null) {
            throw new IllegalStateException(
                    String.format("expected resource '%s' on Classpath, not found", resourceName)
            );
        }
        version = new BufferedReader(new InputStreamReader(versionFile))
                .lines()
                .collect(Collectors.joining("\n"))
                .trim();
    }

var resourceName = "com/pulumi/proxmoxve/version.txt"; should reference the correct base package - e.g. var resourceName = "io/muehlbachler/pulumi/proxmoxve/version.txt";

as far as i can tell this is due to https://github.com/pulumi/pulumi-java/blob/main/pkg/codegen/java/gen.go#LL1759C60-L1759C60 where defaultBasePackage (references hard-coded value here: https://github.com/pulumi/pulumi-java/blob/main/pkg/codegen/java/package_info.go#L21) gets taken instead of the basePackageName in the mod variable (i guess?).

similar to #1118 this is preventing third-party publishers.

@muhlba91
Copy link

@dixler are there any updates to that? as far as i can tell this and #1109 are definitely still blocking third-party publishers.

@runlevel5
Copy link

Is there any update on this work? Cheers

@philippart-s
Copy link

Hi, same pb for me and it's a blocker for my company (OVHcloud) to use this part of Pulumi

@t0yv0
Copy link
Member

t0yv0 commented Apr 12, 2024

EronWright added a commit that referenced this issue May 24, 2024
<!--- 
Thanks so much for your contribution! If this is your first time
contributing, please ensure that you have read the
[CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md)
documentation.
-->

# Description

<!--- Please include a summary of the change and which issue is fixed.
Please also include relevant motivation and context. -->

Fixes #1110

## Checklist

<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my
feature works
<!--- 
User-facing changes require a CHANGELOG entry.
-->
- [ ] I have updated the
[CHANGELOG-PENDING](https://github.com/pulumi/pulumi/blob/master/CHANGELOG_PENDING.md)
file with my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Service,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Service API version
<!-- @pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
@pulumi-bot pulumi-bot added the resolution/fixed This issue was fixed label May 24, 2024
@EronWright
Copy link
Contributor

Thanks @tmeckel for the fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/codegen kind/bug Some behavior is incorrect or out of spec resolution/fixed This issue was fixed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants