diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1f81bae..fff6f83 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,44 +1,20 @@ -# To contribute improvements to CI/CD templates, please follow the Development guide at: -# https://docs.gitlab.com/ee/development/cicd/templates.html -# This specific template is located at: -# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/dotNET-Core.gitlab-ci.yml - # ### Specify the Docker image -image: mcr.microsoft.com/dotnet/sdk:latest +image: mcr.microsoft.com/dotnet/sdk:8.0-alpine # ### Define variables -# variables: # 1) Name of directory where restore and build objects are stored. OBJECTS_DIRECTORY: 'IdeologyAddon/obj' # 2) Name of directory used for keeping restored dependencies. NUGET_PACKAGES_DIRECTORY: '.nuget' # 3) A relative path to the source code from project repository root. - # NOTE: Please edit this path so it matches the structure of your project! SOURCE_CODE_PATH: 'Source/' # ### Define global cache rule -# -# Before building the project, all dependencies (e.g. third-party NuGet packages) -# must be restored. Jobs on GitLab.com's Shared Runners are executed on autoscaled machines. -# -# Each machine is used only once (for security reasons) and after that is removed. -# This means that, before every job, a dependency restore must be performed -# because restored dependencies are removed along with machines. Fortunately, -# GitLab provides cache mechanism with the aim of keeping restored dependencies -# for other jobs. -# -# This example shows how to configure cache to pass over restored -# dependencies for re-use. -# -# With global cache rule, cached dependencies will be downloaded before every job -# and then unpacked to the paths as specified below. cache: # Per-stage and per-branch caching. key: "$CI_JOB_STAGE-$CI_COMMIT_REF_SLUG" paths: - # Specify three paths that should be cached: - # # 1) Main JSON file holding information about package dependency tree, packages versions, # frameworks etc. It also holds information where to the dependencies were restored. - '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/project.assets.json' @@ -46,18 +22,7 @@ cache: - '$SOURCE_CODE_PATH$OBJECTS_DIRECTORY/*.csproj.nuget.*' # 3) Path to the directory where restored dependencies are kept. - '$NUGET_PACKAGES_DIRECTORY' - # - # 'pull-push' policy means that latest cache will be downloaded (if it exists) - # before executing the job, and a newer version will be uploaded afterwards. - # Such a setting saves time when there are no changes in referenced third-party - # packages. - # - # For example, if you run a pipeline with changes in your code, - # but with no changes within third-party packages which your project is using, - # then project restore will happen quickly as all required dependencies - # will already be there — unzipped from cache. - # 'pull-push' policy is the default cache policy, you do not have to specify it explicitly. policy: pull-push # ### Restore project dependencies @@ -76,13 +41,15 @@ cache: build: stage: build + rules: + - if: $CI_COMMIT_BRANCH != "master" # ### Build all projects discovered from solution file. script: - - 'mv -f About/RealAbout.xml About/About.xml' - 'cd $SOURCE_CODE_PATH' - 'dotnet restore --packages ../$NUGET_PACKAGES_DIRECTORY' - - 'curl -s --create-dirs "$RJW_DLL_URL" -o ../../rjw/1.5/Assemblies/RJW.dll' - - 'dotnet build --no-restore' + - 'dotnet build -c Release --no-restore' + - 'cd $CI_PROJECT_DIR/About' + - 'mv -f RealAbout.xml About.xml' artifacts: untracked: false when: on_success @@ -94,16 +61,8 @@ build: - ".*/**/*" # Exclude everything in the dot folders - "Source/**/*" # Exclude everything in the Source folder -#tests: -# stage: test - # ### Run the tests -# script: -# - 'dotnet test --no-restore' - release_dev: stage: deploy -# image: registry.gitlab.com/gitlab-org/release-cli:latest # this image currently is amd64 only - image: alpine:latest rules: - if: $CI_COMMIT_TAG when: never # Do not run this job when a tag is created manually @@ -112,14 +71,7 @@ release_dev: GIT_STRATEGY: none # Do not clone repo and skip 'before_script' PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/rsi/test" script: -# - 'apk add gitlab-release-cli' - - apk add zip curl - - 'zip -rq rsi.zip ./' + - apk add zip + - zip -rq mod.zip ./ - echo "${PACKAGE_REGISTRY_URL}" - - | - curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file rsi.zip "${PACKAGE_REGISTRY_URL}/rjw_sexperience_ideology.zip" -# release: -# tag_name: '$CI_COMMIT_BRANCH-$CI_PIPELINE_IID' # The version is incremented per pipeline. -# description: 'Automated release based on commit $CI_COMMIT_SHORT_SHA $CI_COMMIT_TAG' -# ref: '$CI_COMMIT_SHA' # The tag is created from the pipeline SHA. - + - 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file mod.zip "${PACKAGE_REGISTRY_URL}/rjw_sexperience_ideology.zip"' diff --git a/Source/IdeologyAddon/IdeologyAddon.csproj b/Source/IdeologyAddon/IdeologyAddon.csproj index 6bb9ea8..cc624eb 100644 --- a/Source/IdeologyAddon/IdeologyAddon.csproj +++ b/Source/IdeologyAddon/IdeologyAddon.csproj @@ -1,29 +1,27 @@  + Debug + 1.5 + 1.0 + $(TargetGameVersion).$(InternalModVersion) {B4481C38-31B1-422D-B5AA-0059FE7CCA1C} Library RJWSexperience.Ideology RJWSexperience.Ideology net48 true - ..\..\1.5\Assemblies\ + ..\..\$(TargetGameVersion)\Assemblies\ false - False + false + false false none 8.0 - - - ..\..\..\rjw\1.5\Assemblies\RJW.dll - False - - - - 1.5.* + $(TargetGameVersion).* 2.* @@ -31,4 +29,41 @@ compile; build; native; contentfiles; analyzers; buildtransitive + + + + + + obj\RJW.dll + False + + + + + https://gitgud.io/Ed86/rjw/-/raw/master/$(TargetGameVersion)/Assemblies/RJW.dll + + + + + + + ..\..\..\rjw\$(TargetGameVersion)\Assemblies\RJW.dll + False + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/IdeologyAddon/Properties/AssemblyInfo.cs b/Source/IdeologyAddon/Properties/AssemblyInfo.cs index 8f041b0..9b85306 100644 --- a/Source/IdeologyAddon/Properties/AssemblyInfo.cs +++ b/Source/IdeologyAddon/Properties/AssemblyInfo.cs @@ -1,10 +1,9 @@ using System.Reflection; -using System.Runtime.CompilerServices; using System.Runtime.InteropServices; -// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해 -// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면 -// 이러한 특성 값을 변경하세요. +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. [assembly: AssemblyTitle("IdeologyAddon")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] @@ -14,23 +13,21 @@ using System.Runtime.InteropServices; [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] -// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에 -// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면 -// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요. +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(false)] // 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다. [assembly: Guid("b4481c38-31b1-422d-b5aa-0059fe7cca1c")] -// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다. +// Version information for an assembly consists of the following four values: // -// 주 버전 -// 부 버전 -// 빌드 번호 -// 수정 버전 -// -// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호를 -// 기본값으로 할 수 있습니다. +// Major Version +// Minor Version +// Build Number +// Revision +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] +[assembly: AssemblyVersion("1.5.*")]