Skip to content

Conversation

@andreidubov
Copy link
Contributor

Issue: Starting with Xcode 11 when changing the version of the application, it is saved into the project.pbxproj instead of Info.plist. And link to $MARKETING_VERSION is put in info.plist. This does not allow appcenter-cli to make the release a new version, because it cannot get the current version from Info.plist. Moreover, customers can change the version for each build configuration (Release or Debug and etc.) individually.

Solution: We implemented logic that allows getting the $MARKETING_VERSION from the project.pbxproj file. Appcenter-cli will take the default version of Release build configuration, But if the customer wants to create a release for another Build configuration, he can add an option flag with the Build configuration name to the react-release command.

Copy link
Contributor

@jp-andre jp-andre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there any chance we could have some test cases with this? Testing that parsing works correctly on some sample file, etc...

@shortName("c")
@hasArg
@longName("build-configuration-name")
public buildConfigurationName: string;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a mandatory argument?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I just saw in another line that it defaults to Release. Why not here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, you're right. I already fixed it. Thanks!

}
out.text(`Using the target binary version value "${marketingVersion}" from "${resolvedPbxprojFile}".\n`);

return Promise.resolve(marketingVersion);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can skip the Promise.resolve() here since the method is async already.

@pfleidi
Copy link
Member

pfleidi commented Mar 10, 2020

@jp-andre We'll schedule a feature to add missing tests for all of the release commands in the next weeks. Right now, there are no tests for most of the release-react functionality and adding them would block the xcode 11 customers for a while since we would have to add a lot of infrastructure for these tests. We'll make sure everything works by validating the code manually and add tests once we have enough bandwidth.

Does that make sense to you?

@jp-andre
Copy link
Contributor

@jp-andre We'll schedule a feature to add missing tests for all of the release commands in the next weeks. Right now, there are no tests for most of the release-react functionality and adding them would block the xcode 11 customers for a while since we would have to add a lot of infrastructure for these tests. We'll make sure everything works by validating the code manually and add tests once we have enough bandwidth.

Does that make sense to you?

Yes, considering the situation this is perfectly understandable. I'll work on a release.

@jp-andre
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

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 this pull request may close these issues.

4 participants