github.com/dschalla/mattermost-server@v4.8.1-rc1+incompatible/build/release.mk (about)

     1  
     2  dist: | check-style test package
     3  
     4  build-linux:
     5  	@echo Build Linux amd64
     6  	env GOOS=linux GOARCH=amd64 $(GO) install $(GOFLAGS) $(GO_LINKER_FLAGS) ./cmd/platform
     7  
     8  build-osx: 
     9  	@echo Build OSX amd64
    10  	env GOOS=darwin GOARCH=amd64 $(GO) install $(GOFLAGS) $(GO_LINKER_FLAGS) ./cmd/platform
    11  
    12  build-windows: 
    13  	@echo Build Windows amd64
    14  	env GOOS=windows GOARCH=amd64 $(GO) install $(GOFLAGS) $(GO_LINKER_FLAGS) ./cmd/platform
    15  
    16  build: build-linux build-windows build-osx
    17  
    18  build-client:
    19  	@echo Building mattermost web app
    20  
    21  	cd $(BUILD_WEBAPP_DIR) && $(MAKE) build
    22  
    23  package-common:
    24  	@# Remove any old files
    25  	rm -Rf $(DIST_ROOT)
    26  
    27  	@# Create needed directories
    28  	mkdir -p $(DIST_PATH)/bin
    29  	mkdir -p $(DIST_PATH)/logs
    30  
    31  	@# Resource directories
    32  	cp -RL config $(DIST_PATH)
    33  	cp -RL fonts $(DIST_PATH)
    34  	cp -RL templates $(DIST_PATH)
    35  	cp -RL i18n $(DIST_PATH)
    36  
    37  	@# Disable developer settings
    38  	sed -i'' -e 's|"ConsoleLevel": "DEBUG"|"ConsoleLevel": "INFO"|g' $(DIST_PATH)/config/config.json
    39  	sed -i'' -e 's|"SiteURL": "http://localhost:8065"|"SiteURL": ""|g' $(DIST_PATH)/config/config.json
    40  
    41  	@# Reset email sending to original configuration
    42  	sed -i'' -e 's|"SendEmailNotifications": true,|"SendEmailNotifications": false,|g' $(DIST_PATH)/config/config.json
    43  	sed -i'' -e 's|"FeedbackEmail": "test@example.com",|"FeedbackEmail": "",|g' $(DIST_PATH)/config/config.json
    44  	sed -i'' -e 's|"SMTPServer": "dockerhost",|"SMTPServer": "",|g' $(DIST_PATH)/config/config.json
    45  	sed -i'' -e 's|"SMTPPort": "2500",|"SMTPPort": "",|g' $(DIST_PATH)/config/config.json
    46  
    47  	@# Package webapp
    48  	mkdir -p $(DIST_PATH)/client
    49  	cp -RL $(BUILD_WEBAPP_DIR)/dist/* $(DIST_PATH)/client
    50  
    51  	@# Help files
    52  ifeq ($(BUILD_ENTERPRISE_READY),true)
    53  	cp $(BUILD_ENTERPRISE_DIR)/ENTERPRISE-EDITION-LICENSE.txt $(DIST_PATH)
    54  else
    55  	cp build/MIT-COMPILED-LICENSE.md $(DIST_PATH)
    56  endif
    57  	cp NOTICE.txt $(DIST_PATH)
    58  	cp README.md $(DIST_PATH)
    59  
    60  package-osx: package-common
    61  	@# Copy binary
    62  ifeq ($(BUILDER_GOOS_GOARCH),"darwin_amd64")
    63  	cp $(GOPATH)/bin/platform $(DIST_PATH)/bin # from native bin dir, not cross-compiled
    64  else
    65  	cp $(GOPATH)/bin/darwin_amd64/platform $(DIST_PATH)/bin # from cross-compiled bin dir
    66  endif
    67  	@# Package
    68  	tar -C dist -czf $(DIST_PATH)-$(BUILD_TYPE_NAME)-osx-amd64.tar.gz mattermost
    69  	@# Cleanup
    70  	rm -f $(DIST_PATH)/bin/platform
    71  
    72  package-windows: package-common
    73  	@# Copy binary
    74  ifeq ($(BUILDER_GOOS_GOARCH),"windows_amd64")
    75  	cp $(GOPATH)/bin/platform.exe $(DIST_PATH)/bin # from native bin dir, not cross-compiled
    76  else
    77  	cp $(GOPATH)/bin/windows_amd64/platform.exe $(DIST_PATH)/bin # from cross-compiled bin dir
    78  endif
    79  	@# Package
    80  	cd $(DIST_ROOT) && zip -9 -r -q -l mattermost-$(BUILD_TYPE_NAME)-windows-amd64.zip mattermost && cd ..
    81  	@# Cleanup
    82  	rm -f $(DIST_PATH)/bin/platform.exe
    83  
    84  package-linux: package-common
    85  	@# Copy binary
    86  ifeq ($(BUILDER_GOOS_GOARCH),"linux_amd64")
    87  	cp $(GOPATH)/bin/platform $(DIST_PATH)/bin # from native bin dir, not cross-compiled
    88  else
    89  	cp $(GOPATH)/bin/linux_amd64/platform $(DIST_PATH)/bin # from cross-compiled bin dir
    90  endif
    91  	@# Package
    92  	tar -C dist -czf $(DIST_PATH)-$(BUILD_TYPE_NAME)-linux-amd64.tar.gz mattermost
    93  	@# Don't clean up native package so dev machines will have an unzipped package available
    94  	@#rm -f $(DIST_PATH)/bin/platform
    95  
    96  package: package-linux package-windows package-osx