| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-05 05:48:05 +00:00
										 |  |  | if [[ -n "$UNITY_LICENSE" ]] || [[ -n "$UNITY_LICENSE_FILE" ]]; then | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  |   # | 
					
						
							|  |  |  |   # PERSONAL LICENSE MODE | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   # This will activate Unity, using a license file | 
					
						
							|  |  |  |   # | 
					
						
							| 
									
										
										
										
											2020-01-21 20:23:11 +00:00
										 |  |  |   # Note that this is the ONLY WAY for PERSONAL LICENSES in 2020. | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  |   #   * See for more details: https://gitlab.com/gableroux/unity3d-gitlab-ci-example/issues/5#note_72815478 | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   # The license file can be acquired using `webbertakken/request-manual-activation-file` action. | 
					
						
							| 
									
										
										
										
											2020-01-21 20:35:40 +00:00
										 |  |  |   echo "Requesting activation (personal license)" | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # Set the license file path | 
					
						
							|  |  |  |   FILE_PATH=UnityLicenseFile.ulf | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-01 17:54:52 +00:00
										 |  |  |   if [[ -n "$UNITY_LICENSE" ]]; then | 
					
						
							|  |  |  |     # Copy license file from Github variables | 
					
						
							|  |  |  |     echo "$UNITY_LICENSE" | tr -d '\r' > $FILE_PATH | 
					
						
							| 
									
										
										
										
											2020-03-07 05:20:25 +00:00
										 |  |  |   elif [[ -n "$UNITY_LICENSE_FILE" ]]; then | 
					
						
							| 
									
										
										
										
											2020-03-01 17:54:52 +00:00
										 |  |  |     # Copy license file from file system | 
					
						
							| 
									
										
										
										
											2020-03-04 16:49:04 +00:00
										 |  |  |     cat "$UNITY_LICENSE_FILE" | tr -d '\r' > $FILE_PATH | 
					
						
							| 
									
										
										
										
											2020-03-01 17:54:52 +00:00
										 |  |  |   fi | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-07 23:39:53 +00:00
										 |  |  |   # Activate license | 
					
						
							| 
									
										
										
										
											2020-10-20 12:29:57 +00:00
										 |  |  |   ACTIVATION_OUTPUT=$(unity-editor \
 | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  |       -nographics \
 | 
					
						
							|  |  |  |       -logFile /dev/stdout \
 | 
					
						
							|  |  |  |       -quit \
 | 
					
						
							| 
									
										
										
										
											2020-01-07 23:39:53 +00:00
										 |  |  |       -manualLicenseFile $FILE_PATH) | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-21 20:23:11 +00:00
										 |  |  |   # Store the exit code from the verify command | 
					
						
							|  |  |  |   UNITY_EXIT_CODE=$? | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # The exit code for personal activation is always 1; | 
					
						
							|  |  |  |   # Determine whether activation was successful. | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   # Successful output should include the following: | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   #   "LICENSE SYSTEM [2020120 18:51:20] Next license update check is after 2019-11-25T18:23:38" | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   ACTIVATION_SUCCESSFUL=$(echo $ACTIVATION_OUTPUT | grep 'Next license update check is after' | wc -l) | 
					
						
							| 
									
										
										
										
											2020-01-07 23:39:53 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-21 20:23:11 +00:00
										 |  |  |   # Set exit code to 0 if activation was successful | 
					
						
							| 
									
										
										
										
											2020-01-21 20:29:07 +00:00
										 |  |  |   if [[ $ACTIVATION_SUCCESSFUL -eq 1 ]]; then | 
					
						
							| 
									
										
										
										
											2020-01-21 20:23:11 +00:00
										 |  |  |     UNITY_EXIT_CODE=0 | 
					
						
							|  |  |  |   fi; | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # Remove license file | 
					
						
							|  |  |  |   rm -f $FILE_PATH | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-15 21:16:39 +00:00
										 |  |  | elif [[ -n "$UNITY_SERIAL" && -n "$UNITY_EMAIL" && -n "$UNITY_PASSWORD" ]]; then | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  |   # | 
					
						
							|  |  |  |   # PROFESSIONAL (SERIAL) LICENSE MODE | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   # This will activate unity, using the activating process. | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   # Note: This is the preferred way for PROFESSIONAL LICENSES. | 
					
						
							|  |  |  |   # | 
					
						
							| 
									
										
										
										
											2020-01-21 20:35:40 +00:00
										 |  |  |   echo "Requesting activation (professional license)" | 
					
						
							| 
									
										
										
										
											2020-01-15 21:48:01 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-21 20:35:40 +00:00
										 |  |  |   # Activate license | 
					
						
							| 
									
										
										
										
											2020-10-20 12:29:57 +00:00
										 |  |  |   unity-editor \
 | 
					
						
							|  |  |  |     -batchmode \
 | 
					
						
							|  |  |  |     -nographics \
 | 
					
						
							|  |  |  |     -logFile /dev/stdout \
 | 
					
						
							|  |  |  |     -quit \
 | 
					
						
							|  |  |  |     -serial "$UNITY_SERIAL" \
 | 
					
						
							|  |  |  |     -username "$UNITY_EMAIL" \
 | 
					
						
							|  |  |  |     -password "$UNITY_PASSWORD" | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |   # Store the exit code from the verify command | 
					
						
							|  |  |  |   UNITY_EXIT_CODE=$? | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-15 21:16:39 +00:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2020-01-17 09:32:22 +00:00
										 |  |  |   # | 
					
						
							| 
									
										
										
										
											2020-01-21 20:23:11 +00:00
										 |  |  |   # NO LICENSE ACTIVATION STRATEGY MATCHED | 
					
						
							| 
									
										
										
										
											2020-01-17 09:32:22 +00:00
										 |  |  |   # | 
					
						
							| 
									
										
										
										
											2020-01-21 20:23:11 +00:00
										 |  |  |   # This will exit since no activation strategies could be matched. | 
					
						
							| 
									
										
										
										
											2020-01-17 09:32:22 +00:00
										 |  |  |   # | 
					
						
							| 
									
										
										
										
											2020-01-21 20:23:11 +00:00
										 |  |  |   echo "License activation strategy could not be determined." | 
					
						
							|  |  |  |   echo "" | 
					
						
							|  |  |  |   echo "Visit https://github.com/webbertakken/unity-builder#usage for more" | 
					
						
							|  |  |  |   echo "details on how to set up one of the possible activation strategies." | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   # Immediately exit as no UNITY_EXIT_CODE can be derrived. | 
					
						
							| 
									
										
										
										
											2020-01-15 21:16:39 +00:00
										 |  |  |   exit 1; | 
					
						
							| 
									
										
										
										
											2020-01-21 20:23:11 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-07 22:19:23 +00:00
										 |  |  | fi | 
					
						
							| 
									
										
										
										
											2020-01-15 21:48:01 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-01-17 09:32:22 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2020-01-15 21:48:01 +00:00
										 |  |  | # Display information about the result | 
					
						
							| 
									
										
										
										
											2020-01-17 09:32:22 +00:00
										 |  |  | # | 
					
						
							| 
									
										
										
										
											2020-01-15 21:48:01 +00:00
										 |  |  | if [ $UNITY_EXIT_CODE -eq 0 ]; then | 
					
						
							| 
									
										
										
										
											2020-01-17 09:32:22 +00:00
										 |  |  |   # Activation was a success | 
					
						
							| 
									
										
										
										
											2020-01-21 20:35:40 +00:00
										 |  |  |   echo "Activation complete." | 
					
						
							| 
									
										
										
										
											2020-01-15 21:48:01 +00:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2020-01-17 09:32:22 +00:00
										 |  |  |   # Activation failed so exit with the code from the license verification step | 
					
						
							| 
									
										
										
										
											2020-01-21 20:35:40 +00:00
										 |  |  |   echo "Unclassified error occured while trying to activate license." | 
					
						
							| 
									
										
										
										
											2020-01-15 21:48:01 +00:00
										 |  |  |   echo "Exit code was: $UNITY_EXIT_CODE" | 
					
						
							|  |  |  |   exit $UNITY_EXIT_CODE | 
					
						
							|  |  |  | fi |