forked from facebook/react-native
-
Notifications
You must be signed in to change notification settings - Fork 138
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
109 changed files
with
2,417 additions
and
788 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
// Used to publish this fork of react-native | ||
// Publish it as an attached tar asset to the GitHub release for general consumption, since we can't publish this to the npmjs npm feed | ||
|
||
const fs = require("fs"); | ||
const path = require("path"); | ||
const execSync = require("child_process").execSync; | ||
|
||
function exec(command) { | ||
try { | ||
console.log(`Running command: ${command}`); | ||
return execSync(command, { | ||
stdio: "inherit" | ||
}); | ||
} catch (err) { | ||
process.exitCode = 1; | ||
console.log(`Failure running: ${command}`); | ||
throw err; | ||
} | ||
} | ||
|
||
function doPublish() { | ||
const publishBranchName = process.env.publishBranchName; | ||
|
||
const tempPublishBranch = `publish-${Date.now()}`; | ||
|
||
const pkgJsonPath = path.resolve(__dirname, "../package.json"); | ||
let pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, "utf8")); | ||
|
||
let releaseVersion = pkgJson.version; | ||
|
||
const versionGroups = /(.*-microsoft\.)([0-9]*)/.exec(releaseVersion); | ||
if (versionGroups) { | ||
releaseVersion = versionGroups[1] + (parseInt(versionGroups[2]) + 1); | ||
} else { | ||
if (releaseVersion.indexOf("-") === -1) { | ||
releaseVersion = releaseVersion + "-microsoft.0"; | ||
} else { | ||
console.log("Invalid version to publish"); | ||
exit(1); | ||
} | ||
} | ||
|
||
pkgJson.version = releaseVersion; | ||
fs.writeFileSync(pkgJsonPath, JSON.stringify(pkgJson, null, 2)); | ||
console.log(`Updating package.json to version ${releaseVersion}`); | ||
|
||
exec(`git checkout -b ${tempPublishBranch}`); | ||
|
||
exec(`git add ${pkgJsonPath}`); | ||
exec(`git commit -m "Applying package update to ${releaseVersion}`); | ||
exec(`git tag v${releaseVersion}`); | ||
exec(`git push origin HEAD:${tempPublishBranch} --follow-tags --verbose`); | ||
exec(`git push origin tag v${releaseVersion}`); | ||
|
||
// -------- Generating Android Artifacts with JavaDoc | ||
exec("gradlew installArchives"); | ||
|
||
// undo uncommenting javadoc setting | ||
exec("git checkout ReactAndroid/gradle.properties"); | ||
|
||
// Configure npm to publish to internal feed | ||
const npmrcPath = path.resolve(__dirname, "../.npmrc"); | ||
const npmrcContents = `registry=https:${ | ||
process.env.publishnpmfeed | ||
}/registry/\nalways-auth=true`; | ||
console.log(`Creating ${npmrcPath} for publishing:`); | ||
console.log(npmrcContents); | ||
fs.writeFileSync(npmrcPath, npmrcContents); | ||
|
||
exec(`npm publish`); | ||
exec(`del ${npmrcPath}`); | ||
|
||
// Push tar to GitHub releases | ||
exec(`npm pack`); | ||
|
||
const npmTarPath = path.resolve( | ||
__dirname, | ||
`../react-native-${releaseVersion}.tgz` | ||
); | ||
const assetUpdateUrl = `https://uploads.github.com/repos/Microsoft/react-native/releases/{id}/assets?name=react-native-${releaseVersion}.tgz`; | ||
const authHeader = | ||
"Basic " + new Buffer(":" + process.env.githubToken).toString("base64"); | ||
const userAgent = "Microsoft-React-Native-Release-Agent"; | ||
|
||
let uploadReleaseAssetUrl = ""; | ||
exec("npm install request@^2.69.0 --no-save"); | ||
|
||
const request = require("request"); | ||
|
||
const uploadTarBallToRelease = function() { | ||
request.post( | ||
{ | ||
url: uploadReleaseAssetUrl, | ||
headers: { | ||
"User-Agent": userAgent, | ||
Authorization: authHeader, | ||
"Content-Type": "application/octet-stream" | ||
}, | ||
formData: { | ||
file: fs.createReadStream(npmTarPath) | ||
} | ||
}, | ||
function(err, res, body) { | ||
if (err) { | ||
console.error(err); | ||
process.exitCode = 1; | ||
throw err; | ||
} | ||
|
||
var formattedResponse = JSON.parse(body); | ||
|
||
if (formattedResponse.errors) { | ||
process.exitCode = 1; | ||
console.error(formattedResponse.errors); | ||
throw formattedResponse.errors; | ||
} | ||
|
||
exec(`del ${npmTarPath}`); | ||
exec(`git checkout ${publishBranchName}`); | ||
exec(`git pull origin ${publishBranchName}`); | ||
exec(`git merge ${tempPublishBranch} --no-edit`); | ||
exec( | ||
`git push origin HEAD:${publishBranchName} --follow-tags --verbose` | ||
); | ||
exec(`git branch -d ${tempPublishBranch}`); | ||
exec(`git push origin --delete -d ${tempPublishBranch}`); | ||
} | ||
); | ||
}; | ||
|
||
const createReleaseRequestBody = { | ||
tag_name: `v${releaseVersion}`, | ||
target_commitish: tempPublishBranch, | ||
name: `v${releaseVersion}`, | ||
body: `v${releaseVersion}`, | ||
draft: false, | ||
prerelease: true | ||
}; | ||
console.log('createReleaseRequestBody: ' + JSON.stringify(createReleaseRequestBody, null, 2)); | ||
|
||
request.post( | ||
{ | ||
url: "https://api.github.com/repos/Microsoft/react-native/releases", | ||
headers: { | ||
"User-Agent": userAgent, | ||
Authorization: authHeader | ||
}, | ||
json: true, | ||
body: createReleaseRequestBody | ||
}, | ||
function(err, res, body) { | ||
if (err) { | ||
console.log(err); | ||
throw new Error("Error fetching release id."); | ||
} | ||
|
||
console.log("Created GitHub Release: " + JSON.stringify(body, null, 2)); | ||
uploadReleaseAssetUrl = assetUpdateUrl.replace(/{id}/, body.id); | ||
uploadTarBallToRelease(); | ||
} | ||
); | ||
} | ||
|
||
doPublish(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
# This file defines the Android PR build steps used during the CI loop | ||
name: $(Date:yyyyMMdd).$(Rev:.r) | ||
|
||
trigger: none # will disable CI builds entirely | ||
|
||
pr: | ||
- master | ||
|
||
jobs: | ||
- job: RNGithubPublish | ||
displayName: React-Native GitHub Publish | ||
pool: | ||
name: OE Standard Pool | ||
demands: ['Agent.OS -equals Windows_NT', 'ANDROID_NDK', 'OnPrem -equals False'] | ||
timeoutInMinutes: 90 # how long to run the job before automatically cancelling | ||
cancelTimeoutInMinutes: 5 # how much time to give 'run always even if cancelled tasks' before killing them | ||
steps: | ||
- checkout: self # self represents the repo where the initial Pipelines YAML file was found | ||
clean: true # whether to fetch clean each time | ||
fetchDepth: 2 # the depth of commits to ask Git to fetch | ||
lfs: false # whether to download Git-LFS files | ||
submodules: recursive # set to 'true' for a single level of submodules or 'recursive' to get submodules of submodules | ||
persistCredentials: true # set to 'true' to leave the OAuth token in the Git config after the initial fetch | ||
|
||
- task: CmdLine@2 | ||
displayName: npm install | ||
inputs: | ||
script: npm install | ||
|
||
- task: NuGetCommand@2 | ||
displayName: NuGet restore | ||
inputs: | ||
command: restore | ||
restoreSolution: ReactAndroid/packages.config | ||
feedsToUse: config | ||
#vstsFeed: # Required when feedsToUse == Select | ||
#includeNuGetOrg: true # Required when feedsToUse == Select | ||
nugetConfigPath: ReactAndroid/NuGet.Config | ||
#externalFeedCredentials: # Optional | ||
#noCache: false | ||
#disableParallelProcessing: false | ||
restoreDirectory: packages/ | ||
verbosityRestore: Detailed # Options: quiet, normal, detailed | ||
#packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg' # Required when command == Push | ||
#nuGetFeedType: 'internal' # Required when command == Push# Options: internal, external | ||
#publishVstsFeed: # Required when command == Push && NuGetFeedType == Internal | ||
#publishPackageMetadata: true # Optional | ||
#allowPackageConflicts: # Optional | ||
#publishFeedCredentials: # Required when command == Push && NuGetFeedType == External | ||
#verbosityPush: 'Detailed' # Options: quiet, normal, detailed | ||
#packagesToPack: '**/*.csproj' # Required when command == Pack | ||
#configuration: '$(BuildConfiguration)' # Optional | ||
#packDestination: '$(Build.ArtifactStagingDirectory)' # Optional | ||
#versioningScheme: 'off' # Options: off, byPrereleaseNumber, byEnvVar, byBuildNumber | ||
#includeReferencedProjects: false # Optional | ||
#versionEnvVar: # Required when versioningScheme == ByEnvVar | ||
#majorVersion: '1' # Required when versioningScheme == ByPrereleaseNumber | ||
#minorVersion: '0' # Required when versioningScheme == ByPrereleaseNumber | ||
#patchVersion: '0' # Required when versioningScheme == ByPrereleaseNumber | ||
#packTimezone: 'utc' # Required when versioningScheme == ByPrereleaseNumber# Options: utc, local | ||
#includeSymbols: false # Optional | ||
#toolPackage: # Optional | ||
#buildProperties: # Optional | ||
#basePath: # Optional | ||
#verbosityPack: 'Detailed' # Options: quiet, normal, detailed | ||
#arguments: # Required when command == Custom | ||
|
||
- task: CmdLine@1 | ||
displayName: 'npm auth' | ||
inputs: | ||
filename: npm | ||
arguments: 'config set $(publishnpmfeed)/registry/:_authToken $(npmTokenOffice)' | ||
|
||
- task: CmdLine@2 | ||
displayName: Do Publish | ||
inputs: | ||
script: node .ado/publish.js | ||
|
||
- task: CmdLine@1 | ||
displayName: 'npm unauth' | ||
inputs: | ||
filename: npm | ||
arguments: 'config set $(publishnpmfeed)/registry/:_authToken XXXXX' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Validating CODEOWNERS rules …
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1 @@ | ||
Libraries/Animated/* @janicduplessis | ||
Libraries/NativeAnimation/* @janicduplessis | ||
Libraries/Image/* @shergin | ||
Libraries/Text/* @shergin | ||
React/Base/* @shergin | ||
React/Views/* @shergin | ||
React/Modules/* @shergin | ||
React/CxxBridge/* @mhorowitz | ||
ReactAndroid/src/main/java/com/facebook/react/animated/* @janicduplessis | ||
**/*.md @hramos | ||
package.json @hramos | ||
local-cli/core/* @grabbou @kureev | ||
local-cli/link/* @grabbou @kureev | ||
local-cli/unlink/* @grabbou @kureev | ||
** @acoates-ms |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
GitHub Issues in the `facebook/react-native` repository are used exclusively for tracking bugs in React Native. | ||
GitHub Issues in the `Microsoft/react-native` repository are used exclusively for tracking bugs in the Microsoft/React Native fork. If the issue concerns Facebook's react-native, submit the issue to facebook/react-native. | ||
|
||
Please take a look at the issue templates at https://github.com/facebook/react-native/issues/new/choose before submitting a new issue. Following one of the issue templates will ensure maintainers can route your request efficiently. Thanks! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,25 @@ | ||
Thank you for sending the PR! We appreciate you spending the time to work on these changes. | ||
Help us understand your motivation by explaining why you decided to make this change. | ||
|
||
If this PR fixes an issue, type "Fixes #issueNumber" to automatically close the issue when the PR is merged. | ||
|
||
_Pull requests that expand test coverage are more likely to get reviewed. Add a test case whenever possible!_ | ||
|
||
Test Plan: | ||
---------- | ||
Write your test plan here. If you changed any code, please provide us with clear instructions on how you verified your changes work. Bonus points for screenshots and videos! | ||
|
||
Changelog: | ||
---------- | ||
Help reviewers and the release process by writing your own changelog entry. When the change doesn't impact React Native developers, it may be ommitted from the changelog for brevity. See below for an example. | ||
|
||
[CATEGORY] [TYPE] - Message | ||
# :warning: Make sure you are targeting Microsoft/react-native for your PR :warning: | ||
(then delete these lines) | ||
|
||
<!-- | ||
We are working on reducing the diff between Facebook's public version of react-native, and our Microsoft/react-native. Long term, we want to remove the need for our version and only depend on Facebook's react-native. In order to move in the right direction, new changes should be examined to ensure that we are doing the right thing. | ||
CATEGORY may be: | ||
- [General] | ||
- [iOS] | ||
- [Android] | ||
TYPE may be: | ||
- [Added] for new features. | ||
- [Changed] for changes in existing functionality. | ||
- [Deprecated] for soon-to-be removed features. | ||
- [Removed] for now removed features. | ||
- [Fixed] for any bug fixes. | ||
- [Security] in case of vulnerabilities. | ||
If you are making a new change then one of the following should be done: | ||
- Consider if it is possible to achieve the desired behavior without making a change to react-native. Often a change can be made in a layer above react-native instead. | ||
- Create a corresponding PR against [react-native on GitHub](https://github.com/facebook/react-native) | ||
**Note:** Ideally you would wait for GitHub feedback before submitting to ISS, since we want to ensure that ISS doesn't deviate from GitHub. | ||
--> | ||
|
||
For more detail, see https://keepachangelog.com/en/1.0.0/#how | ||
#### Please select one of the following | ||
- [ ] I am removing an existing difference between facebook/react-native and Microsoft/react-native :thumbsup: | ||
- [ ] I am cherry-picking a change from Facebook's react-native into Microsoft/react-native :thumbsup: | ||
- [ ] I am making a fix / change for the macOS implementation of react-native | ||
- [ ] I am making a change required for Microsoft usage of react-native | ||
|
||
MESSAGE may answer "what and why" on a feature level. Use this to briefly tell React Native users about notable changes. | ||
#### Description of changes | ||
|
||
EXAMPLES: | ||
(give an overview) | ||
|
||
[General] [Added] - Add snapToOffsets prop to ScrollView component | ||
[General] [Fixed] - Fix various issues in snapToInterval on ScrollView component | ||
[iOS] [Fixed] - Fix crash in RCTImagePicker | ||
#### Focus areas to test | ||
|
||
--> | ||
(optional) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,20 @@ | ||
{ | ||
"name": "@microsoft/react-native", | ||
"name": "react-native", | ||
"entries": [ | ||
{ | ||
"version": "0.0.2", | ||
"tag": "react-native_v0.0.2", | ||
"date": "Wed, 06 Mar 2019 05:43:46 GMT", | ||
"comments": { | ||
"patch": [ | ||
{ | ||
"comment": "Rename microsoft react-native", | ||
"author": "Andrew Coates (REDMOND) <[email protected]>", | ||
"commit": "0c0c2e0fa8762dda21b96ec3031a90450a45607f" | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"version": "0.3.9", | ||
"tag": "@microsoft/react-native_v0.3.9", | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.