diff --git a/Cli/AttackSurfaceAnalyzerCli.csproj b/Cli/AttackSurfaceAnalyzerCli.csproj
index 0bd9c6594..1c05f8444 100644
--- a/Cli/AttackSurfaceAnalyzerCli.csproj
+++ b/Cli/AttackSurfaceAnalyzerCli.csproj
@@ -27,10 +27,31 @@
+
+ LICENSE.txt
+ PreserveNewest
+
+
+ NOTICE.txt
+ PreserveNewest
+
+
+ PRIVACY.md
+ PreserveNewest
+
+
+ README.md
+ PreserveNewest
+
Always
+
+
+ Always
+
+
diff --git a/Cli/Makefile b/Cli/Makefile
index 0cfbfb426..c6ff73ea7 100755
--- a/Cli/Makefile
+++ b/Cli/Makefile
@@ -6,6 +6,7 @@ EXEC_NAME = AttackSurfaceAnalyzerCli
NBGV_DIR = ../Tools
VERSION := $(shell $(NBGV_DIR)/nbgv get-version -v AssemblyInformationalVersion)
UNAME_S := $(shell uname -s)
+PUBLISH_PATH = bin/AttackSurfaceAnalyzerCli
ifeq ($(OS),Windows_NT)
RUNTIME = win10-x64
@@ -21,25 +22,33 @@ else
endif
endif
-PUBLISH_DIR = bin/AttackSurfaceAnalyzerCli-$(ALT_RUNTIME)-$(VERSION)
+PUBLISH_DIR = "bin/AttackSurfaceAnalyzerCli-$(ALT_RUNTIME)-$(VERSION)"
prerequisites:
$(info Checking for nbgv, installing if required.)
@which $(NBGV_DIR)/nbgv || dotnet tool install --tool-path $(NBGV_DIR)/ nbgv
+ $(info Setting publish directory $(PUBLISH_DIR))
-all: prerequisites debug
debug: prerequisites clean restore build_debug
release: prerequisites clean restore build_release
-all: win mac linux
-win: RUNTIME = win10-x64
+
+all: win win10 mac linux
+
+win: RUNTIME = win-x86
win: ALT_RUNTIME = win
-win: build_release
+win: prerequisites clean restore build_release
+
+win10: RUNTIME = win10-x64
+win10: ALT_RUNTIME = win10
+win10: build_release prerequisites clean restore build_release
+
mac: RUNTIME = osx-x64
mac: ALT_RUNTIME = macos
-mac: build_release
+mac: build_release prerequisites clean restore build_release
+
linux: RUNTIME = linux-x64
linux: ALT_RUNTIME = linux
-linux: build_release
+linux: build_release prerequisites clean restore build_release
clean:
$(info Cleaning...)
@@ -55,14 +64,6 @@ build_debug:
$(info Debug build completed.)
build_release:
- $(info Building release...)
- $(info Detected version as $(VERSION))
-
- $(DOTNET) publish -c Release -r $(RUNTIME) --self-contained true --output $(PUBLISH_DIR)
- $(info Release build completed)
-
-build_win:
- $(info Building windows...)
- RUNTIME = win-x64
- ALT_RUNTIME = win
- build_release
\ No newline at end of file
+ $(info Building $(RUNTIME) release at $(VERSION))
+ $(DOTNET) publish -c Release -r $(RUNTIME) --self-contained true --output $(PUBLISH_PATH)-$(ALT_RUNTIME)-$(VERSION)
+ $(info Release build completed)
\ No newline at end of file
diff --git a/Cli/Program.cs b/Cli/Program.cs
index a4a3945ba..3b309d3a2 100644
--- a/Cli/Program.cs
+++ b/Cli/Program.cs
@@ -131,7 +131,7 @@ public class MonitorCommandOptions
[Option('d', "directories", Required = false, HelpText = "Comma-separated list of directories to monitor.")]
public string MonitoredDirectories { get; set; }
- [Option('i', "interrogate-file-changes", Required = false, HelpText = "On a file create or change gather the post-change file size and security attributes")]
+ [Option('i', "interrogate-file-changes", Required = false, HelpText = "On a file create or change gather the post-change file size and security attributes (Linux/Mac only)")]
public bool InterrogateChanges { get; set; }
//[Option('r', "registry", Required = false, HelpText = "Monitor the registry for changes. (Windows Only)")]
diff --git a/Gui/AttackSurfaceAnalyzerGui.csproj b/Gui/AttackSurfaceAnalyzerGui.csproj
index 2c5942bd0..8ac426950 100644
--- a/Gui/AttackSurfaceAnalyzerGui.csproj
+++ b/Gui/AttackSurfaceAnalyzerGui.csproj
@@ -48,6 +48,24 @@
Resources.Designer.cs
+
+
+ LICENSE.txt
+ PreserveNewest
+
+
+ NOTICE.txt
+ PreserveNewest
+
+
+ PRIVACY.md
+ PreserveNewest
+
+
+ README.md
+ PreserveNewest
+
+
Always
diff --git a/Gui/Makefile b/Gui/Makefile
new file mode 100644
index 000000000..c8648cba6
--- /dev/null
+++ b/Gui/Makefile
@@ -0,0 +1,70 @@
+.DEFAULT_GOAL := debug
+
+DOTNET = dotnet
+TARGET = netcoreapp2.2
+EXEC_NAME = AttackSurfaceAnalyzerCli
+TOOL_DIR = ../Tools
+ELECTRON = $(TOOL_DIR)/electronize
+CUSTOM_FEED = ../Tools/packages/
+VERSION := $(shell $(TOOL_DIR)/nbgv get-version -v AssemblyInformationalVersion)
+UNAME_S := $(shell uname -s)
+ELECTRON_OUTPUT = bin/made/
+PUBLISH_PATH = bin/AttackSurfaceAnalyzerGui
+
+ifeq ($(OS),Windows_NT)
+ RUNTIME = win
+ ALT_RUNTIME = win
+else
+ ifeq ($(UNAME_S),Linux)
+ RUNTIME = linux
+ ALT_RUNTIME = linux
+ endif
+ ifeq ($(UNAME_S),Darwin)
+ RUNTIME = osx
+ ALT_RUNTIME = macos
+ endif
+endif
+
+
+prerequisites:
+ $(info Checking for nbgv, installing if required.)
+ @which $(TOOL_DIR)/nbgv || dotnet tool install --tool-path $(TOOL_DIR)/ nbgv
+ $(info Checking for electronNET.cli, installing if required.)
+
+ @which $(TOOL_DIR)/electronize || dotnet tool install --tool-path $(TOOL_DIR)/ --version 0.0.11-custom --add-source $(CUSTOM_FEED) electronnet.cli
+ $(info Setting publish directory $(PUBLISH_DIR))
+
+debug: prerequisites clean restore build_debug
+release: prerequisites clean restore build_release
+
+all: win win10 mac linux
+
+win: RUNTIME = win
+win: ALT_RUNTIME = win
+win: prerequisites clean restore build_release
+
+mac: RUNTIME = osx
+mac: RUNTIME = macos
+mac: build_release prerequisites clean restore build_release
+
+linux: RUNTIME = linux
+linux: RUNTIME = linux
+linux: build_release prerequisites clean restore build_release
+
+clean:
+ $(info Cleaning...)
+ dotnet clean
+
+restore:
+ $(info Restoring...)
+ dotnet restore
+
+build_debug:
+ $(info Building debug...)
+ $(ELECTRON) start
+ $(info Debug build started.)
+
+build_release:
+ $(info Building $(RUNTIME) release at $(VERSION))
+ mkdir -p $(PUBLISH_PATH)-$(ALT_RUNTIME)-$(VERSION) && $(ELECTRON) build /target $(RUNTIME) /package-json package.json /relative-path $(PUBLISH_PATH)-$(ALT_RUNTIME)-$(VERSION)
+ $(info Built release at $(ELECTRON_OUTPUT))
\ No newline at end of file
diff --git a/LICENSE b/LICENSE.txt
similarity index 100%
rename from LICENSE
rename to LICENSE.txt
diff --git a/Lib/AttackSurfaceAnalyzerLib.csproj b/Lib/AttackSurfaceAnalyzerLib.csproj
index b60aa1d22..72070bf29 100644
--- a/Lib/AttackSurfaceAnalyzerLib.csproj
+++ b/Lib/AttackSurfaceAnalyzerLib.csproj
@@ -62,4 +62,22 @@ This NuGet contains the AttackSurfaceAnalyzer Library, which is used by the CLI
+
+
+ LICENSE.txt
+ PreserveNewest
+
+
+ NOTICE.txt
+ PreserveNewest
+
+
+ PRIVACY.md
+ PreserveNewest
+
+
+ README.md
+ PreserveNewest
+
+
diff --git a/NOTICE b/NOTICE.txt
similarity index 100%
rename from NOTICE
rename to NOTICE.txt