github.com/coincircle/mattermost-server@v4.8.1-0.20180321182714-9d701c704416+incompatible/build/release.mk (about)

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