-
Notifications
You must be signed in to change notification settings - Fork 30
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
feat: add native version bumpers #17
base: master
Are you sure you want to change the base?
Conversation
@byCedric something that came up while I was writing the docs: I noticed that the recommended bumper for the ios build number is the calculated semver. This makes sense to me for releases, where the build number is mostly irrelevant (since you don't typically publish more than one build of a release). For TestFlight, though, it's common to publish multiple builds of a single pre-release version, all of which must have a different build number. This makes me think that |
Adds app version and build number bumpers for the native iOS/Android project configuration files (e.g. Info.plist, build.gradle). These are usable by expo bare workflow projects, but also react-native projects that don't use Expo, and even plain old iOS/Android projects. Closes expo-community#9.
A string like 1.0.2-beta.4 in Info.plist will be rejected as an invalid version; it really just wants an x.y.z version.
This would be nice to have, why is this not merged? |
This is a super important PR, can we get this merged please? |
It's been a few months since @brettdh opened the PR. Can we review and merge this one? |
In the meantime, I've published a version with this PR: https://www.npmjs.com/package/@brettdh/standard-version-expo |
@byCedric can you please review this? |
Would love to see this merged - pretty important for the bare workflow IMO :) |
I would like to see this merged as well. Going to use |
@brettdh I get the following error when trying to run with the below configuration:
EnvironmentTried with node 14 and 16 Configurationconst sdkVersion = "41.0.1"
module.exports = {
bumpFiles: [
{
filename: 'ios/GateCode/Info.plist',
updater: require.resolve('@brettdh/standard-version-expo/ios/native/app-version'),
},
{
filename: 'ios/GateCode/Info.plist',
updater: require.resolve('@brettdh/standard-version-expo/ios/native/buildnum/increment'),
},
{
filename: 'android/app/build.gradle',
updater: require.resolve('@brettdh/standard-version-expo/android/native/app-version'),
},
{
filename: 'android/app/build.gradle',
updater: require.resolve('@brettdh/standard-version-expo/android/native/buildnum/code')(sdkVersion),
},
]} |
I ended up just incrementing vs. using code: module.exports = {
bumpFiles: [
{
filename: 'package.json',
},
{
filename: 'app.json',
updater: require.resolve('@brettdh/standard-version-expo'),
},
{
filename: 'app.json',
updater: require.resolve('@brettdh/standard-version-expo/android'),
},
{
filename: 'app.json',
updater: require.resolve('@brettdh/standard-version-expo/ios'),
},
{
filename: 'ios/GateCode/Info.plist',
updater: require.resolve('@brettdh/standard-version-expo/ios/native/app-version'),
},
{
filename: 'ios/GateCode/Info.plist',
updater: require.resolve('@brettdh/standard-version-expo/ios/native/buildnum/increment'),
},
{
filename: 'android/app/build.gradle',
updater: require.resolve('@brettdh/standard-version-expo/android/native/app-version'),
},
{
filename: 'android/app/build.gradle',
updater: require.resolve('@brettdh/standard-version-expo/android/native/buildnum/increment'),
},
],
}; |
@byCedric , it would be nice if we had this merged |
Hey @byCedric could you merge this one? This thing is really a must have on bare-workflows! |
Would be great to merge this @expo-community. I was able to fix it by installing then updating my .versionrc.js
|
Adds app version and build number bumpers for the native iOS/Android
project configuration files (e.g. Info.plist, build.gradle).
These are usable by expo bare workflow projects, but also react-native
projects that don't use Expo, and even plain old iOS/Android projects.
Linked issue
Closes #9.
Additional context
Not yet tested with a real project, but I'm going to do that tomorrow. It might also be real nice to get integration tests set up that take a real project and bump its version, and then verify that all the right files have all the right versions.