mirror of
https://gitgud.io/amevarashi/rjw-sexperience-ideology.git
synced 2024-08-15 00:43:19 +00:00
Updated csproj and CI
This commit is contained in:
parent
a3055eb6ec
commit
d1603e0e4b
3 changed files with 68 additions and 84 deletions
|
@ -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"'
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<TargetGameVersion>1.5</TargetGameVersion>
|
||||
<InternalModVersion>1.0</InternalModVersion>
|
||||
<Version>$(TargetGameVersion).$(InternalModVersion)</Version>
|
||||
<ProjectGuid>{B4481C38-31B1-422D-B5AA-0059FE7CCA1C}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<RootNamespace>RJWSexperience.Ideology</RootNamespace>
|
||||
<AssemblyName>RJWSexperience.Ideology</AssemblyName>
|
||||
<TargetFramework>net48</TargetFramework>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>..\..\1.5\Assemblies\</OutputPath>
|
||||
<OutputPath>..\..\$(TargetGameVersion)\Assemblies\</OutputPath>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<Deterministic>false</Deterministic>
|
||||
<DebugSymbols>false</DebugSymbols>
|
||||
<DebugType>none</DebugType>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="RJW">
|
||||
<HintPath>..\..\..\rjw\1.5\Assemblies\RJW.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Krafs.Rimworld.Ref">
|
||||
<Version>1.5.*</Version>
|
||||
<Version>$(TargetGameVersion).*</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Lib.Harmony">
|
||||
<Version>2.*</Version>
|
||||
|
@ -31,4 +29,41 @@
|
|||
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||
</PackageReference>
|
||||
</ItemGroup>
|
||||
|
||||
<Choose>
|
||||
<When Condition=" '$(Configuration)' == 'Release' ">
|
||||
<ItemGroup>
|
||||
<Reference Include="RJW">
|
||||
<HintPath>obj\RJW.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<RjwUrl>https://gitgud.io/Ed86/rjw/-/raw/master/$(TargetGameVersion)/Assemblies/RJW.dll</RjwUrl>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
|
||||
<Otherwise>
|
||||
<ItemGroup>
|
||||
<Reference Include="RJW">
|
||||
<HintPath>..\..\..\rjw\$(TargetGameVersion)\Assemblies\RJW.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</Otherwise>
|
||||
</Choose>
|
||||
|
||||
<Target Name="DownloadRJW" BeforeTargets="BeforeBuild" Condition=" '$(Configuration)' == 'Release' ">
|
||||
<DownloadFile
|
||||
SourceUrl="$(RjwUrl)"
|
||||
DestinationFolder="obj"
|
||||
DestinationFileName="RJW.dll">
|
||||
</DownloadFile>
|
||||
</Target>
|
||||
|
||||
<Target Name="PostBuildAction" AfterTargets="Build">
|
||||
<XmlPoke XmlInputPath="..\..\About\RealAbout.xml" Query="//ModMetaData/modVersion" Value="$(Version)" />
|
||||
<XmlPoke XmlInputPath="..\..\About\Manifest.xml" Query="//Manifest/version" Value="$(Version)" />
|
||||
</Target>
|
||||
</Project>
|
|
@ -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.*")]
|
||||
|
|
Loading…
Reference in a new issue