From 50490b9435c2ad405ec675479434c6a03ac3215d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20B=C3=BCchele?= Date: Wed, 13 Jun 2018 09:01:36 -0700 Subject: [PATCH] Linux and Windows builds Summary: Adds windows and linux builds to Sandcastle allow-large-files Reviewed By: jknoxville Differential Revision: D8379581 fbshipit-source-id: 94c80fc91c69f43b7dc0c7eb8b2ee5ace4daf888 --- .travis.yml | 17 +++-------------- README.md | 4 +--- package.json | 3 ++- scripts/build-release.js | 25 +++++++++++++------------ yarn.lock | 4 ++++ 5 files changed, 23 insertions(+), 30 deletions(-) diff --git a/.travis.yml b/.travis.yml index 91a50b339..db6279dbb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,14 +15,11 @@ matrix: script: - yarn lint - - yarn build macOnly build-number=$TRAVIS_BUILD_NUMBER + - yarn build --mac --version=$TRAVIS_BUILD_NUMBER - cd website - yarn build - cd .. - before_deploy: - - export SONAR_VERSION="v$(plutil -p $TRAVIS_BUILD_DIR/dist/mac/Sonar.app/Contents/Info.plist | awk '/CFBundleShortVersionString/ {print substr($3, 2, length($3)-2)}')" - deploy: - provider: pages skip-cleanup: true @@ -32,17 +29,9 @@ matrix: keep-history: true on: branch: master - - provider: releases - api_key: $GITHUB_TOKEN - file: dist/Sonar.zip - name: $SONAR_VERSION - draft: true - skip_cleanup: true - on: - branch: master - language: objective-c - + before_install: - pod repo update @@ -53,4 +42,4 @@ matrix: script: - cd iOS/Sample - - xcodebuild clean build -workspace Sample.xcworkspace -scheme Pods-Sample \ No newline at end of file + - xcodebuild clean build -workspace Sample.xcworkspace -scheme Pods-Sample diff --git a/README.md b/README.md index eb302888a..364474bcd 100644 --- a/README.md +++ b/README.md @@ -51,11 +51,9 @@ yarn start ## Building the desktop app ``` -yarn build [macOnly] [build-number=$buildNumber] +yarn build --mac --version $buildNumber ``` -A binary for macOS is created in `dist/mac`. `macOnly` and `build-number` are optional params. - ## Documentation Find the full documentation for this project at [fbsonar.com](https://fbsonar.com/docs). diff --git a/package.json b/package.json index 33df6b4b7..bf2a9026c 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "build": { "appId": "sonar", "productName": "Sonar", - "artifactName": "Sonar.${ext}", + "artifactName": "Sonar-${os}.${ext}", "mac": { "category": "public.app-category.developer-tools" }, @@ -22,6 +22,7 @@ } }, "devDependencies": { + "7zip-bin-mac": "^1.0.1", "babel-eslint": "^8.2.1", "electron": "^2.0.1", "electron-builder": "^19.49.0", diff --git a/scripts/build-release.js b/scripts/build-release.js index 07e150010..d8d6fcca4 100755 --- a/scripts/build-release.js +++ b/scripts/build-release.js @@ -52,14 +52,11 @@ function modifyPackageManifest(buildFolder) { manifest.dependencies = manifestStatic.dependencies; manifest.main = 'index.js'; - const BUILD_NUMBER_ARG = 'build-number='; - const buildNumber = ( - process.argv.find(arg => arg.startsWith(BUILD_NUMBER_ARG)) || '' - ).replace(BUILD_NUMBER_ARG, ''); - if (buildNumber) { + const buildNumber = process.argv.join(' ').match(/--version=(\d+)/); + if (buildNumber && buildNumber.length > 0) { manifest.version = [ ...manifest.version.split('.').slice(0, 2), - buildNumber, + buildNumber[1], ].join('.'); } @@ -80,14 +77,18 @@ function modifyPackageManifest(buildFolder) { function buildDist(buildFolder) { const targetsRaw = []; - targetsRaw.push(Platform.MAC.createTarget(['zip'])); - if (process.argv.slice(2).indexOf('macOnly') === -1) { - targetsRaw.push(Platform.LINUX.createTarget(['dir'])); - targetsRaw.push(Platform.WINDOWS.createTarget(['dir'])); - } + if (process.argv.indexOf('--mac') > -1) { + targetsRaw.push(Platform.MAC.createTarget(['zip'])); + } + if (process.argv.indexOf('--linux') > -1) { + targetsRaw.push(Platform.LINUX.createTarget(['zip'])); + } + if (process.argv.indexOf('--win') > -1) { + targetsRaw.push(Platform.WINDOWS.createTarget(['zip'])); + } if (!targetsRaw.length) { - throw new Error('No targets specified. eg. --osx pkg,dmg --linux tar.gz'); + throw new Error('No targets specified. eg. --mac, --win, or --linux'); } // merge all target maps into a single map diff --git a/yarn.lock b/yarn.lock index 31b4e7147..9330219f7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,10 @@ # yarn lockfile v1 +"7zip-bin-mac@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/7zip-bin-mac/-/7zip-bin-mac-1.0.1.tgz#3e68778bbf0926adc68159427074505d47555c02" + "7zip-bin@~3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-3.0.0.tgz#17416dc542f41511b26a9667b92847d75ef150fe"