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