Skip to content

Commit

Permalink
Merge pull request #7 from stop-pattern/develop
Browse files Browse the repository at this point in the history
とりあえずできたとこまで
  • Loading branch information
stop-pattern authored Dec 9, 2023
2 parents f4eb38d + 5cbd0d9 commit 3c42529
Show file tree
Hide file tree
Showing 18 changed files with 1,101 additions and 2 deletions.
31 changes: 31 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name-template: 'v$RESOLVED_VERSION 🌈'
tag-template: 'v$RESOLVED_VERSION'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
label: 'chore'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: patch
template: |
## Changes
$CHANGES
47 changes: 47 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: MSBuild

on:
pull_request:
push:
branches:
- main
- develop
paths:
- '*/**'
- '!./*'
- './*.sln'
- '!.github/**'

jobs:
build:
name: MSBuild
runs-on: windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.3.1

- name: Setup Nuget
uses: NuGet/setup-nuget@v1.2.0

- name: Restore nuget packages
run: nuget restore AtsExCsTemplate.sln

- name: MSBuild
run: msbuild AtsExCsTemplate.sln /m /p:configuration="Release" /p:platform="Any CPU" /p:OutputPath="./out/"
shell: cmd

- name: Collect artifact
run: |
ls -alR
mkdir plugins/
find . -type f -path '*/out/*.dll' | xargs mv -t ./plugins/
shell: bash

- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: plugins
path: ./plugins/
94 changes: 94 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Create release
on:
workflow_dispatch:
pull_request:
branches:
- main
types:
- closed

jobs:
build:
name: Generate dll
runs-on: windows-latest
outputs:
name: ${{ steps.version.outputs.name }}
version: ${{ steps.version.outputs.version }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup MSBuild.exe
uses: microsoft/setup-msbuild@v1.3.1
- name: Setup Nuget
uses: NuGet/setup-nuget@v1.2.0
- name: Restore nuget packages
run: nuget restore AtsExCsTemplate.sln
- name: Build sln
run: msbuild AtsExCsTemplate.sln /m /p:configuration="Release" /p:platform="Any CPU" /p:OutputPath="./out/"
shell: cmd
- name: Collect artifact
run: |
mkdir plugins/
find . -type f -path '*/out/*.dll' | xargs mv -t ./plugins/
shell: bash
- name: Check assembly version
id: version
run: |
Get-ChildItem plugins/ -Recurse -Filter "*.dll" -File | foreach {
Write-Output $_.FileName
$_.FileName
"name=$_" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
$ver=(Get-Item $_.FullName).VersionInfo.FileVersion
$ver
"version=v$ver" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
}
shell: pwsh
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: plugins
path: ./plugins/

release:
name: Create release
runs-on: ubuntu-latest
needs: build
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Create tag
run: |
git tag ${{needs.build.outputs.version}}
git push origin ${{needs.build.outputs.version}}
- name: Create release draft
id: create-draft
uses: release-drafter/release-drafter@v5.12.1
with:
version: ${{needs.build.outputs.version}}
name: ${{needs.build.outputs.version}}
tag: ${{needs.build.outputs.version}}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Download a build artifact
uses: actions/download-artifact@v3.0.2
- name: Get repository name
run: |
echo "REPOSITORY_NAME=${GITHUB_REPOSITORY#${GITHUB_REPOSITORY_OWNER}/}" >> $GITHUB_ENV
echo "FILE_NAME=${GITHUB_REPOSITORY#${GITHUB_REPOSITORY_OWNER}/}_${{needs.build.outputs.version}}" >> $GITHUB_ENV
- name: Compress DLLs
run: |
cd plugins/
zip ${{env.FILE_NAME}}.zip -r *
- name: Upload release asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{steps.create-draft.outputs.upload_url}}
asset_path: ./plugins/${{env.FILE_NAME}}.zip
asset_name: ${{env.FILE_NAME}}.zip
asset_content_type: application/zip
37 changes: 37 additions & 0 deletions AtsExCsTemplate.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33516.290
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VehiclePlugin", "VehiclePlugin\VehiclePlugin.csproj", "{B4C723A7-FD6A-4931-B3BF-A6635F44899B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MapPlugin", "MapPlugin\MapPlugin.csproj", "{C7F17EA7-55CF-449F-9255-C3B1721A4DC9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Extension", "Extension\Extension.csproj", "{80D2BAF1-62D2-4538-8249-5F1C6D2B3DCE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B4C723A7-FD6A-4931-B3BF-A6635F44899B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B4C723A7-FD6A-4931-B3BF-A6635F44899B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B4C723A7-FD6A-4931-B3BF-A6635F44899B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B4C723A7-FD6A-4931-B3BF-A6635F44899B}.Release|Any CPU.Build.0 = Release|Any CPU
{C7F17EA7-55CF-449F-9255-C3B1721A4DC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C7F17EA7-55CF-449F-9255-C3B1721A4DC9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C7F17EA7-55CF-449F-9255-C3B1721A4DC9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C7F17EA7-55CF-449F-9255-C3B1721A4DC9}.Release|Any CPU.Build.0 = Release|Any CPU
{80D2BAF1-62D2-4538-8249-5F1C6D2B3DCE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{80D2BAF1-62D2-4538-8249-5F1C6D2B3DCE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{80D2BAF1-62D2-4538-8249-5F1C6D2B3DCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{80D2BAF1-62D2-4538-8249-5F1C6D2B3DCE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7A01144D-3066-4B8F-9C06-A9212986B216}
EndGlobalSection
EndGlobal
44 changes: 44 additions & 0 deletions Extension/Extension.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using AtsEx.PluginHost.Plugins;
using AtsEx.PluginHost.Plugins.Extensions;

namespace AtsExCsTemplate.Extension
{
/// <summary>
/// プラグインの本体
/// </summary>
[PluginType(PluginType.Extension)]
internal class ExtensionMain : AssemblyPluginBase, IExtension
{
/// <summary>
/// プラグインが読み込まれた時に呼ばれる
/// 初期化を実装する
/// </summary>
/// <param name="builder"></param>
public ExtensionMain(PluginBuilder builder) : base(builder)
{
}

/// <summary>
/// プラグインが解放されたときに呼ばれる
/// 後処理を実装する
/// </summary>
public override void Dispose()
{
}

/// <summary>
/// シナリオ読み込み中に毎フレーム呼び出される
/// </summary>
/// <param name="elapsed">前回フレームからの経過時間</param>
public override TickResult Tick(TimeSpan elapsed)
{
return new ExtensionTickResult();
}
}
}
91 changes: 91 additions & 0 deletions Extension/Extension.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{80D2BAF1-62D2-4538-8249-5F1C6D2B3DCE}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AtsExCsTemplate.Extension</RootNamespace>
<AssemblyName>Extension</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>false</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="0Harmony, Version=2.2.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Lib.Harmony.2.2.2\lib\net48\0Harmony.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="AtsEx.CoreExtensions, Version=0.17.30127.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AtsEx.CoreExtensions.0.19.0\lib\AtsEx.CoreExtensions.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="AtsEx.PluginHost, Version=0.19.30520.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AtsEx.PluginHost.0.19.0\lib\AtsEx.PluginHost.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="BveTypes, Version=0.19.30520.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AtsEx.PluginHost.0.19.0\lib\BveTypes.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="FastCaching, Version=0.17.30125.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AtsEx.PluginHost.0.19.0\lib\FastCaching.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="FastMember, Version=0.17.21224.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AtsEx.PluginHost.0.19.0\lib\FastMember.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="ObjectiveHarmonyPatch, Version=1.0.30529.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ObjectiveHarmonyPatch.1.0.0\lib\ObjectiveHarmonyPatch.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="SlimDX, Version=4.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86">
<HintPath>..\packages\SlimDX.4.0.13.44\lib\NET40\SlimDX.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="TypeWrapping, Version=0.17.30127.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AtsEx.PluginHost.0.19.0\lib\TypeWrapping.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="UnembeddedResources, Version=1.0.30529.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UnembeddedResources.1.0.0\lib\UnembeddedResources.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Extension.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
35 changes: 35 additions & 0 deletions Extension/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// アセンブリに関する一般情報は以下を通して制御されます
// 制御されます。アセンブリに関連付けられている情報を変更するには、
// これらの属性値を変更してください。
[assembly: AssemblyTitle("Extension")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Extension")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// ComVisible を false に設定すると、このアセンブリ内の型は COM コンポーネントから
// 参照できなくなります。COM からこのアセンブリ内の型にアクセスする必要がある場合は、
// その型の ComVisible 属性を true に設定してください。
[assembly: ComVisible(false)]

// このプロジェクトが COM に公開される場合、次の GUID が typelib の ID になります
[assembly: Guid("80d2baf1-62d2-4538-8249-5f1c6d2b3dce")]

// アセンブリのバージョン情報は、以下の 4 つの値で構成されています:
//
// メジャー バージョン
// マイナー バージョン
// ビルド番号
// リビジョン
//
// すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.11.*")]
9 changes: 9 additions & 0 deletions Extension/packages.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AtsEx.CoreExtensions" version="0.19.0" targetFramework="net48" />
<package id="AtsEx.PluginHost" version="0.19.0" targetFramework="net48" />
<package id="Lib.Harmony" version="2.2.2" targetFramework="net48" />
<package id="ObjectiveHarmonyPatch" version="1.0.0" targetFramework="net48" />
<package id="SlimDX" version="4.0.13.44" targetFramework="net48" />
<package id="UnembeddedResources" version="1.0.0" targetFramework="net48" />
</packages>
Loading

0 comments on commit 3c42529

Please sign in to comment.