Skip to content

Commit

Permalink
fix: improve debuggability — print effective config if debug enabled
Browse files Browse the repository at this point in the history
  • Loading branch information
develar committed Mar 18, 2017
1 parent 185b0dc commit 927ac40
Show file tree
Hide file tree
Showing 36 changed files with 221 additions and 220 deletions.
1 change: 1 addition & 0 deletions .idea/dictionaries/develar.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

54 changes: 24 additions & 30 deletions docs/Developer API.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@
<dd></dd>
<dt><a href="#module_electron-builder/out/platformPackager">electron-builder/out/platformPackager</a></dt>
<dd></dd>
<dt><a href="#module_electron-builder/out/publish/publisher">electron-builder/out/publish/publisher</a></dt>
<dd></dd>
<dt><a href="#module_electron-builder/out/publish/PublishManager">electron-builder/out/publish/PublishManager</a></dt>
<dd></dd>
<dt><a href="#module_electron-builder/out/readInstalled">electron-builder/out/readInstalled</a></dt>
Expand Down Expand Up @@ -1324,29 +1322,6 @@
| --- | --- |
| ext | <code>string</code> |

<a name="module_electron-builder/out/publish/publisher"></a>

## electron-builder/out/publish/publisher

* [electron-builder/out/publish/publisher](#module_electron-builder/out/publish/publisher)
* [`.getCiTag()`](#module_electron-builder/out/publish/publisher.getCiTag) ⇒ <code>any</code>
* [`.getResolvedPublishConfig(packager, publishConfig, errorIfCannot)`](#module_electron-builder/out/publish/publisher.getResolvedPublishConfig) ⇒ <code>Promise&lt; &#124; [PublishConfiguration](Publishing-Artifacts#PublishConfiguration)&gt;</code>

<a name="module_electron-builder/out/publish/publisher.getCiTag"></a>

### `electron-builder/out/publish/publisher.getCiTag()` ⇒ <code>any</code>
**Kind**: method of <code>[electron-builder/out/publish/publisher](#module_electron-builder/out/publish/publisher)</code>
<a name="module_electron-builder/out/publish/publisher.getResolvedPublishConfig"></a>

### `electron-builder/out/publish/publisher.getResolvedPublishConfig(packager, publishConfig, errorIfCannot)` ⇒ <code>Promise&lt; &#124; [PublishConfiguration](Publishing-Artifacts#PublishConfiguration)&gt;</code>
**Kind**: method of <code>[electron-builder/out/publish/publisher](#module_electron-builder/out/publish/publisher)</code>

| Param | Type |
| --- | --- |
| packager | <code>[BuildInfo](Options#BuildInfo)</code> |
| publishConfig | <code>[PublishConfiguration](Publishing-Artifacts#PublishConfiguration)</code> |
| errorIfCannot | <code>boolean</code> |

<a name="module_electron-builder/out/publish/PublishManager"></a>

## electron-builder/out/publish/PublishManager
Expand All @@ -1356,7 +1331,7 @@
* [`.awaitTasks()`](#module_electron-builder/out/publish/PublishManager.PublishManager+awaitTasks) ⇒ <code>Promise&lt;void&gt;</code>
* [`.cancelTasks()`](#module_electron-builder/out/publish/PublishManager.PublishManager+cancelTasks)
* [`.getOrCreatePublisher(publishConfig, buildInfo)`](#module_electron-builder/out/publish/PublishManager.PublishManager+getOrCreatePublisher) ⇒ <code>null</code> &#124; <code>[Publisher](Publishing-Artifacts#Publisher)</code>
* [`.computeDownloadUrl(publishConfig, fileName, packager, arch)`](#module_electron-builder/out/publish/PublishManager.computeDownloadUrl) ⇒ <code>string</code>
* [`.computeDownloadUrl(publishConfig, fileName, packager)`](#module_electron-builder/out/publish/PublishManager.computeDownloadUrl) ⇒ <code>string</code>
* [`.createPublisher(context, version, publishConfig, options)`](#module_electron-builder/out/publish/PublishManager.createPublisher) ⇒ <code>null</code> &#124; <code>[Publisher](Publishing-Artifacts#Publisher)</code>
* [`.getPublishConfigs(packager, targetSpecificOptions)`](#module_electron-builder/out/publish/PublishManager.getPublishConfigs) ⇒ <code>Promise&lt; &#124; Array&gt;</code>
* [`.getPublishConfigsForUpdateInfo(packager, publishConfigs)`](#module_electron-builder/out/publish/PublishManager.getPublishConfigsForUpdateInfo) ⇒ <code>Promise&lt; &#124; Array&gt;</code>
Expand Down Expand Up @@ -1392,15 +1367,14 @@

<a name="module_electron-builder/out/publish/PublishManager.computeDownloadUrl"></a>

### `electron-builder/out/publish/PublishManager.computeDownloadUrl(publishConfig, fileName, packager, arch)` ⇒ <code>string</code>
### `electron-builder/out/publish/PublishManager.computeDownloadUrl(publishConfig, fileName, packager)` ⇒ <code>string</code>
**Kind**: method of <code>[electron-builder/out/publish/PublishManager](#module_electron-builder/out/publish/PublishManager)</code>

| Param | Type |
| --- | --- |
| publishConfig | <code>[PublishConfiguration](Publishing-Artifacts#PublishConfiguration)</code> |
| fileName | <code>string</code> &#124; <code>null</code> |
| packager | <code>[PlatformPackager](#PlatformPackager)&lt;any&gt;</code> |
| arch | <code>[Arch](#Arch)</code> &#124; <code>null</code> |

<a name="module_electron-builder/out/publish/PublishManager.createPublisher"></a>

Expand All @@ -1422,7 +1396,7 @@
| Param | Type |
| --- | --- |
| packager | <code>[PlatformPackager](#PlatformPackager)&lt;any&gt;</code> |
| targetSpecificOptions | <code>[PlatformSpecificBuildOptions](Options#PlatformSpecificBuildOptions)</code> &#124; <code>null</code> &#124; <code>undefined</code> |
| targetSpecificOptions | <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code> &#124; <code>null</code> &#124; <code>undefined</code> |

<a name="module_electron-builder/out/publish/PublishManager.getPublishConfigsForUpdateInfo"></a>

Expand Down Expand Up @@ -1946,7 +1920,7 @@
| Param | Type |
| --- | --- |
| raw | <code>Map&lt;[Arch](#Arch) &#124; Array&lt;string&gt;&gt;</code> |
| options | <code>[PlatformSpecificBuildOptions](Options#PlatformSpecificBuildOptions)</code> |
| options | <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code> |
| platform | <code>[Platform](#Platform)</code> |

<a name="module_electron-builder/out/targets/targetFactory.createCommonTarget"></a>
Expand Down Expand Up @@ -2506,6 +2480,7 @@
* [`.FileAssociation`](#FileAssociation)
* [`.FilePattern`](#FilePattern)
* [`.MetadataDirectories`](#MetadataDirectories)
* [`.PlatformSpecificBuildOptions`](#PlatformSpecificBuildOptions) ⇐ <code>[TargetSpecificOptions](#TargetSpecificOptions)</code>
* [`.Protocol`](#Protocol)
* [`.RepositoryInfo`](#RepositoryInfo)
* [`.SourceRepositoryInfo`](#SourceRepositoryInfo)
Expand Down Expand Up @@ -2607,6 +2582,24 @@ On Windows works only if [nsis.perMachine](/~https://github.com/electron-userland/
| output = <code>&quot;dist&quot;</code>| <code>string</code> \| <code>null</code> | <a name="MetadataDirectories-output"></a>The output directory. |
| app| <code>string</code> \| <code>null</code> | <a name="MetadataDirectories-app"></a>The application directory (containing the application package.json), defaults to `app`, `www` or working directory. |

<a name="PlatformSpecificBuildOptions"></a>

### `PlatformSpecificBuildOptions` ⇐ <code>[TargetSpecificOptions](#TargetSpecificOptions)</code>
**Kind**: interface of <code>[electron-builder-core](#module_electron-builder-core)</code>
**Extends**: <code>[TargetSpecificOptions](#TargetSpecificOptions)</code>
**Properties**

| Name | Type |
| --- | --- |
| files| <code>Array&lt;string&gt;</code> \| <code>string</code> \| <code>null</code> |
| extraFiles| <code>Array&lt;string \| [FilePattern](#FilePattern)&gt;</code> \| <code>[FilePattern](#FilePattern)</code> \| <code>string</code> \| <code>null</code> |
| extraResources| <code>Array&lt;string \| [FilePattern](#FilePattern)&gt;</code> \| <code>[FilePattern](#FilePattern)</code> \| <code>string</code> \| <code>null</code> |
| asarUnpack| <code>Array&lt;string&gt;</code> \| <code>string</code> \| <code>null</code> |
| asar| <code>[AsarOptions](#AsarOptions)</code> \| <code>boolean</code> \| <code>null</code> |
| target| <code>Array&lt;string \| [TargetConfig](#TargetConfig)&gt;</code> \| <code>string</code> \| <code>[TargetConfig](#TargetConfig)</code> \| <code>null</code> |
| icon| <code>string</code> \| <code>null</code> |
| fileAssociations| <code>Array&lt;[FileAssociation](#FileAssociation)&gt;</code> \| <code>[FileAssociation](#FileAssociation)</code> |

<a name="Protocol"></a>

### `Protocol`
Expand Down Expand Up @@ -2667,6 +2660,7 @@ Please note — on macOS [you need to register an `open-url` event handler](http
| --- | --- | --- |
| artifactName| <code>string</code> \| <code>null</code> | <a name="TargetSpecificOptions-artifactName"></a>The [artifact file name pattern](/~https://github.com/electron-userland/electron-builder/wiki/Options#artifact-file-name-pattern). |
| forceCodeSigning| <code>boolean</code> | <a name="TargetSpecificOptions-forceCodeSigning"></a> |
| publish| <code>null</code> \| <code>string</code> \| <code>[GithubOptions](Publishing-Artifacts#GithubOptions)</code> \| <code>[S3Options](Publishing-Artifacts#S3Options)</code> \| <code>[GenericServerOptions](Publishing-Artifacts#GenericServerOptions)</code> \| <code>[BintrayOptions](Publishing-Artifacts#BintrayOptions)</code> \| <code>Array</code> | <a name="TargetSpecificOptions-publish"></a> |

<a name="Platform"></a>

Expand Down
44 changes: 12 additions & 32 deletions docs/Options.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,23 +97,22 @@ You can use [file macros](#file-macros) in the `from` and `to` fields as well.
* [`.BuildOptions`](#BuildOptions) ⇐ <code>[PublishOptions](Publishing-Artifacts#PublishOptions)</code>
* [`.BuildResult`](#BuildResult)
* [`.CliOptions`](#CliOptions) ⇐ <code>[PublishOptions](Publishing-Artifacts#PublishOptions)</code>
* [`.Config`](#Config) ⇐ <code>[TargetSpecificOptions](Developer-API#TargetSpecificOptions)</code>
* [`.Config`](#Config) ⇐ <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
* [`.DebOptions`](#DebOptions) ⇐ <code>[LinuxBuildOptions](#LinuxBuildOptions)</code>
* [`.DmgContent`](#DmgContent)
* [`.DmgOptions`](#DmgOptions) ⇐ <code>[TargetSpecificOptions](Developer-API#TargetSpecificOptions)</code>
* [`.DmgWindow`](#DmgWindow)
* [`.LinuxBuildOptions`](#LinuxBuildOptions) ⇐ <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
* [`.MacOptions`](#MacOptions) ⇐ <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
* [`.LinuxBuildOptions`](#LinuxBuildOptions) ⇐ <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
* [`.MacOptions`](#MacOptions) ⇐ <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
* [`.MasBuildOptions`](#MasBuildOptions) ⇐ <code>[MacOptions](#MacOptions)</code>
* [`.Metadata`](#Metadata)
* [`.NsisOptions`](#NsisOptions)
* [`.NsisWebOptions`](#NsisWebOptions) ⇐ <code>[NsisOptions](#NsisOptions)</code>
* [`.PackagerOptions`](#PackagerOptions)
* [`.PkgOptions`](#PkgOptions) ⇐ <code>[TargetSpecificOptions](Developer-API#TargetSpecificOptions)</code>
* [`.PlatformSpecificBuildOptions`](#PlatformSpecificBuildOptions) ⇐ <code>[TargetSpecificOptions](Developer-API#TargetSpecificOptions)</code>
* [`.SnapOptions`](#SnapOptions) ⇐ <code>[LinuxBuildOptions](#LinuxBuildOptions)</code>
* [`.SquirrelWindowsOptions`](#SquirrelWindowsOptions) ⇐ <code>[WinBuildOptions](#WinBuildOptions)</code>
* [`.WinBuildOptions`](#WinBuildOptions) ⇐ <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
* [`.WinBuildOptions`](#WinBuildOptions) ⇐ <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
* [.Packager](#Packager) ⇐ <code>[BuildInfo](#BuildInfo)</code>
* [`.build(rawOptions)`](#module_electron-builder.build) ⇒ <code>Promise&lt;Array&lt;string&gt;&gt;</code>
* [`.createTargets(platforms, type, arch)`](#module_electron-builder.createTargets) ⇒ <code>Map&lt;[Platform](Developer-API#Platform) &#124; Map&lt;[Arch](Developer-API#Arch) &#124; Array&lt;string&gt;&gt;&gt;</code>
Expand Down Expand Up @@ -224,11 +223,11 @@ AppX Options

<a name="Config"></a>

### `Config` ⇐ <code>[TargetSpecificOptions](Developer-API#TargetSpecificOptions)</code>
### `Config` ⇐ <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
Configuration Options

**Kind**: interface of <code>[electron-builder](#module_electron-builder)</code>
**Extends**: <code>[TargetSpecificOptions](Developer-API#TargetSpecificOptions)</code>
**Extends**: <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
**Properties**

| Name | Type | Description |
Expand Down Expand Up @@ -362,11 +361,11 @@ DMG Windows Position and Size

<a name="LinuxBuildOptions"></a>

### `LinuxBuildOptions` ⇐ <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
### `LinuxBuildOptions` ⇐ <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
Linux Options

**Kind**: interface of <code>[electron-builder](#module_electron-builder)</code>
**Extends**: <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
**Extends**: <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
**Properties**

| Name | Type | Description |
Expand All @@ -386,11 +385,11 @@ Linux Options

<a name="MacOptions"></a>

### `MacOptions` ⇐ <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
### `MacOptions` ⇐ <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
macOS Options

**Kind**: interface of <code>[electron-builder](#module_electron-builder)</code>
**Extends**: <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
**Extends**: <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
**Properties**

| Name | Type | Description |
Expand Down Expand Up @@ -527,25 +526,6 @@ Web Installer Specific Options
| installLocation = <code>&quot;/Applications&quot;</code>| <code>string</code> \| <code>null</code> | <a name="PkgOptions-installLocation"></a>The install location. |
| identity| <code>string</code> \| <code>null</code> | <a name="PkgOptions-identity"></a> |

<a name="PlatformSpecificBuildOptions"></a>

### `PlatformSpecificBuildOptions` ⇐ <code>[TargetSpecificOptions](Developer-API#TargetSpecificOptions)</code>
**Kind**: interface of <code>[electron-builder](#module_electron-builder)</code>
**Extends**: <code>[TargetSpecificOptions](Developer-API#TargetSpecificOptions)</code>
**Properties**

| Name | Type |
| --- | --- |
| files| <code>Array&lt;string&gt;</code> \| <code>string</code> \| <code>null</code> |
| extraFiles| <code>Array&lt;string \| [FilePattern](Developer-API#FilePattern)&gt;</code> \| <code>[FilePattern](Developer-API#FilePattern)</code> \| <code>string</code> \| <code>null</code> |
| extraResources| <code>Array&lt;string \| [FilePattern](Developer-API#FilePattern)&gt;</code> \| <code>[FilePattern](Developer-API#FilePattern)</code> \| <code>string</code> \| <code>null</code> |
| asarUnpack| <code>Array&lt;string&gt;</code> \| <code>string</code> \| <code>null</code> |
| asar| <code>[AsarOptions](Developer-API#AsarOptions)</code> \| <code>boolean</code> \| <code>null</code> |
| target| <code>Array&lt;string \| [TargetConfig](Developer-API#TargetConfig)&gt;</code> \| <code>string</code> \| <code>[TargetConfig](Developer-API#TargetConfig)</code> \| <code>null</code> |
| icon| <code>string</code> \| <code>null</code> |
| fileAssociations| <code>Array&lt;[FileAssociation](Developer-API#FileAssociation)&gt;</code> \| <code>[FileAssociation](Developer-API#FileAssociation)</code> |
| publish| <code>null</code> \| <code>string</code> \| <code>[GithubOptions](Publishing-Artifacts#GithubOptions)</code> \| <code>[S3Options](Publishing-Artifacts#S3Options)</code> \| <code>[GenericServerOptions](Publishing-Artifacts#GenericServerOptions)</code> \| <code>[BintrayOptions](Publishing-Artifacts#BintrayOptions)</code> \| <code>Array</code> |

<a name="SnapOptions"></a>

### `SnapOptions` ⇐ <code>[LinuxBuildOptions](#LinuxBuildOptions)</code>
Expand Down Expand Up @@ -586,11 +566,11 @@ To use Squirrel.Windows please install `electron-builder-squirrel-windows` depen

<a name="WinBuildOptions"></a>

### `WinBuildOptions` ⇐ <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
### `WinBuildOptions` ⇐ <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
Windows Specific Options

**Kind**: interface of <code>[electron-builder](#module_electron-builder)</code>
**Extends**: <code>[PlatformSpecificBuildOptions](#PlatformSpecificBuildOptions)</code>
**Extends**: <code>[PlatformSpecificBuildOptions](Developer-API#PlatformSpecificBuildOptions)</code>
**Properties**

| Name | Type | Description |
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"dependencies": {
"7zip-bin": "^2.0.4",
"ajv": "^5.0.4-beta.0",
"ajv-keywords": "^2.0.1-beta.1",
"ajv-keywords": "^2.0.1-beta.2",
"archiver": "^1.3.0",
"aws-sdk": "^2.28.0",
"bluebird-lst": "^1.0.2",
Expand All @@ -40,7 +40,7 @@
"electron-download-tf": "4.0.0",
"electron-macos-sign": "~1.6.0",
"fs-extra-p": "^4.1.0",
"hosted-git-info": "^2.2.0",
"hosted-git-info": "^2.3.1",
"ini": "^1.3.4",
"is-ci": "^1.0.10",
"isbinaryfile": "^3.0.2",
Expand All @@ -63,7 +63,7 @@
"yargs": "^7.0.2"
},
"devDependencies": {
"@types/electron": "^1.4.33",
"@types/electron": "^1.4.34",
"@types/ini": "^1.3.29",
"@types/jest": "^19.2.2",
"@types/js-yaml": "^3.5.29",
Expand Down
21 changes: 21 additions & 0 deletions packages/electron-builder-core/src/core.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import { Publish } from "electron-builder-http/out/publishOptions"

export enum Arch {
ia32, x64, armv7l
}
Expand Down Expand Up @@ -99,6 +101,7 @@ export class Platform {

export abstract class Target {
abstract readonly outDir: string
abstract readonly options: TargetSpecificOptions | null | undefined

constructor(readonly name: string, readonly isAsyncSupported: boolean = true) {
}
Expand All @@ -117,6 +120,24 @@ export interface TargetSpecificOptions {
readonly artifactName?: string | null

readonly forceCodeSigning?: boolean

readonly publish?: Publish
}

export interface PlatformSpecificBuildOptions extends TargetSpecificOptions {
readonly files?: Array<string> | string | null
readonly extraFiles?: Array<FilePattern | string> | FilePattern | string | null
readonly extraResources?: Array<FilePattern | string> | FilePattern | string | null

readonly asarUnpack?: Array<string> | string | null

readonly asar?: AsarOptions | boolean | null

readonly target?: Array<string | TargetConfig> | string | TargetConfig | null

readonly icon?: string | null

readonly fileAssociations?: Array<FileAssociation> | FileAssociation
}

export const DEFAULT_TARGET = "default"
Expand Down
3 changes: 3 additions & 0 deletions packages/electron-builder-core/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@
"declaration": true,
"include": [
"src/**/*.ts"
],
"files": [
"../electron-builder-http/out/electron-builder-http.d.ts"
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const SW_VERSION = "1.5.2.0"
const SW_SHA2 = "e96a109d4641ebb85d163eaefe7770b165ebc25d1cc77c5179f021b232fc3730"

export default class SquirrelWindowsTarget extends Target {
private readonly options: SquirrelWindowsOptions = Object.assign({}, this.packager.platformSpecificBuildOptions, this.packager.config.squirrelWindows)
readonly options: SquirrelWindowsOptions = Object.assign({}, this.packager.platformSpecificBuildOptions, this.packager.config.squirrelWindows)

constructor(private readonly packager: WinPackager, readonly outDir: string) {
super("squirrel")
Expand Down
4 changes: 2 additions & 2 deletions packages/electron-builder/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
"dependencies": {
"7zip-bin": "^2.0.4",
"ajv": "^5.0.4-beta.0",
"ajv-keywords": "^2.0.1-beta.1",
"ajv-keywords": "^2.0.1-beta.2",
"bluebird-lst": "^1.0.2",
"chalk": "^1.1.3",
"chromium-pickle-js": "^0.2.0",
Expand All @@ -58,7 +58,7 @@
"electron-macos-sign": "~1.6.0",
"electron-publish": "0.0.0-semantic-release",
"fs-extra-p": "^4.1.0",
"hosted-git-info": "^2.2.0",
"hosted-git-info": "^2.3.1",
"is-ci": "^1.0.10",
"isbinaryfile": "^3.0.2",
"js-yaml": "^3.8.2",
Expand Down
Loading

0 comments on commit 927ac40

Please sign in to comment.