Skip to content

Commit edce219

Browse files
authored
Merge pull request #75 from orels1/dev
Release 7.0.0
2 parents 0786d3c + 94e46c7 commit edce219

File tree

346 files changed

+32491
-13196
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

346 files changed

+32491
-13196
lines changed

.git-branches.toml

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Git Town configuration file
2+
#
3+
# Run "git town config setup" to add additional entries
4+
# to this file after updating Git Town.
5+
#
6+
# The "push-hook" setting determines whether Git Town
7+
# permits or prevents Git hooks while pushing branches.
8+
# Hooks are enabled by default. If your Git hooks are slow,
9+
# you can disable them to speed up branch syncing.
10+
#
11+
# When disabled, Git Town pushes using the "--no-verify" switch.
12+
# More info at https://www.git-town.com/preferences/push-hook.
13+
push-hook = true
14+
15+
# Should Git Town push the new branches it creates
16+
# immediately to origin even if they are empty?
17+
#
18+
# When enabled, you can run "git push" right away
19+
# but creating new branches is slower and
20+
# it triggers an unnecessary CI run on the empty branch.
21+
#
22+
# When disabled, many Git Town commands execute faster
23+
# and Git Town will create the missing tracking branch
24+
# on the first run of "git sync".
25+
push-new-branches = false
26+
27+
# Should "git ship" delete the tracking branch?
28+
# You want to disable this if your code hosting platform
29+
# (GitHub, GitLab, etc) deletes head branches when
30+
# merging pull requests through its UI.
31+
ship-delete-tracking-branch = true
32+
33+
# Should "git ship" sync branches before shipping them?
34+
#
35+
# Guidance: enable when shipping branches locally on your machine
36+
# and disable when shipping feature branches via the code hosting
37+
# API or web UI.
38+
#
39+
# When enabled, branches are always fully up to date when shipped
40+
# and you get a chance to resolve merge conflicts
41+
# between the feature branch to ship and the main development branch
42+
# on the feature branch. This helps keep the main branch green.
43+
# But this also triggers another CI run and delays shipping.
44+
sync-before-ship = true
45+
46+
# Should "git sync" also fetch updates from the upstream remote?
47+
#
48+
# If an "upstream" remote exists, and this setting is enabled,
49+
# "git sync" will also update the local main branch
50+
# with commits from the main branch at the upstream remote.
51+
#
52+
# This is useful if the repository you work on is a fork,
53+
# and you want to keep it in sync with the repo it was forked from.
54+
sync-upstream = false
55+
56+
[branches]
57+
58+
# The main branch is the branch from which you cut new feature branches,
59+
# and into which you ship feature branches when they are done.
60+
# This branch is often called "main", "master", or "development".
61+
main = "dev"
62+
63+
# Perennial branches are long-lived branches.
64+
# They are never shipped and have no ancestors.
65+
# Typically, perennial branches have names like
66+
# "development", "staging", "qa", "production", etc.
67+
perennials = ["main"]
68+
69+
[hosting]
70+
71+
# Knowing the type of code hosting platform allows Git Town
72+
# to open browser URLs and talk to the code hosting API.
73+
# Most people can leave this on "auto-detect".
74+
# Only change this if your code hosting server uses as custom URL.
75+
platform = "github"
76+
77+
# When using SSH identities, define the hostname
78+
# of your source code repository. Only change this
79+
# if the auto-detection does not work for you.
80+
# origin-hostname = ""
81+
82+
[sync-strategy]
83+
84+
# How should Git Town synchronize feature branches?
85+
# Feature branches are short-lived branches cut from
86+
# the main branch and shipped back into the main branch.
87+
# Typically you develop features and bug fixes on them,
88+
# hence their name.
89+
feature-branches = "rebase"
90+
91+
# How should Git Town synchronize perennial branches?
92+
# Perennial branches have no parent branch.
93+
# The only updates they receive are additional commits
94+
# made to their tracking branch somewhere else.
95+
perennial-branches = "merge"

.github/workflows/build-listing.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ jobs:
2828
runs-on: ubuntu-latest
2929
steps:
3030

31-
- uses: actions/checkout@v3 # check out this repo
32-
- uses: actions/checkout@v3 # check out automation repo
31+
- uses: actions/checkout@v4 # check out this repo
32+
- uses: actions/checkout@v4 # check out automation repo
3333
with:
3434
repository: vrchat-community/package-list-action
3535
path: ${{env.pathToCi}}
3636
clean: false # otherwise the local repo will no longer be checked out
3737

3838
- name: Restore Cache
39-
uses: actions/cache@v2
39+
uses: actions/cache@v4
4040
with:
4141
path: |
4242
${{env.pathToCi}}/.nuke/temp
@@ -49,13 +49,13 @@ jobs:
4949
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5050

5151
- name: Setup Pages
52-
uses: actions/configure-pages@v2
52+
uses: actions/configure-pages@v5
5353

5454
- name: Upload artifact
55-
uses: actions/upload-pages-artifact@v1
55+
uses: actions/upload-pages-artifact@v3
5656
with:
5757
path: ${{env.listPublishDirectory}}
5858

5959
- name: Deploy to GitHub Pages
6060
id: deployment
61-
uses: actions/deploy-pages@v1
61+
uses: actions/deploy-pages@v4

.gitignore

100644100755
Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ Assets/Develop
6969
Assets/Develop.meta
7070
Assets/Bakery
7171
Assets/Bakery.meta
72+
Assets/Decalery
73+
Assets/Decalery.meta
7274
Assets/BakeryLightmaps
7375
Assets/BakeryLightmaps.meta
7476
Assets/Editor.meta
@@ -97,4 +99,44 @@ Packages/sh.orels.shaders.inspector/Editor/MaterialLibraries/Resources/**/*.json
9799
/Assets/Gizmos
98100
/Assets/Gizmos.meta
99101
/Assets/LTCGI-Generated
100-
/Assets/LTCGI-Generated.meta
102+
/Assets/LTCGI-Generated.meta
103+
/Assets/csc.rsp
104+
/Assets/csc.rsp.meta
105+
/Assets/_PoiyomiShaders
106+
/Assets/_PoiyomiShaders.meta
107+
/Thry
108+
/Exports
109+
110+
/Assets/Samples
111+
/Assets/Samples.meta
112+
113+
/UserSettings/**/*
114+
UserSettings/Layouts/default-2022.dwlt
115+
UserSettings/EditorUserSettings.asset
116+
UserSettings/Search.settings
117+
Assets/TextMesh Pro
118+
Assets/TextMesh Pro.meta
119+
Assets/XR
120+
Assets/XR.meta
121+
Assets/AmplifyShaderEditor
122+
Assets/AmplifyShaderEditor.meta
123+
/bakery-*
124+
Assets/XSToon3
125+
Assets/XSToon3.meta
126+
Assets/AreaLit
127+
Assets/AreaLit.meta
128+
Assets/VRSL Addons
129+
Assets/VRSL Addons.meta
130+
Assets/Umodeler-Hub
131+
Assets/Umodeler-Hub.meta
132+
Assets/UniversalRenderPipelineGlobalSettings.asset
133+
Assets/UniversalRenderPipelineGlobalSettings.asset.meta
134+
ProjectSettings/UModeler-Hub.json
135+
136+
Assets/Mochie
137+
Assets/Mochie.meta
138+
Assets/Silent
139+
Assets/Silent.meta
140+
141+
ProjectSettings/lilToonSetting.json
142+
.vsconfig

Assets/Tools/Editor/ReleaseExporter.cs

100644100755
Lines changed: 105 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
1-
using System.IO;
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Diagnostics;
4+
using System.IO;
5+
using System.IO.Compression;
6+
using System.Linq;
27
using UnityEditor;
38
using UnityEngine;
4-
using VRC.PackageManagement.Core.Types.Packages;
9+
using Debug = UnityEngine.Debug;
510

611
namespace ORL.Tools
712
{
@@ -14,46 +19,114 @@ public static class ReleaseExporter
1419
"Packages/sh.orels.shaders.generator",
1520
};
1621

22+
[Serializable]
23+
public class PackageInfo
24+
{
25+
public string name;
26+
public string displayName;
27+
public string version;
28+
}
29+
1730
[MenuItem("Tools/orels1/Export Release")]
18-
private static void ExportAsUnityPackage ()
31+
private static void ExportAsUnityPackage()
1932
{
20-
var manifestPath = Path.Combine(_exportFolders[0], VRCPackageManifest.Filename);
21-
var manifest = VRCPackageManifest.GetManifestAtPath(manifestPath);
33+
var manifestPath = Path.Combine(_exportFolders[0], "package.json");
34+
var manifest = JsonUtility.FromJson<PackageInfo>(File.ReadAllText(manifestPath));
2235
if (manifest == null)
2336
{
2437
Debug.LogError("Failed to load main package manifest to extract version, aborting");
2538
return;
2639
}
2740

41+
// Get a list of new files from git
42+
var processInfo = new ProcessStartInfo("git", "status -s")
43+
{
44+
WorkingDirectory = new FileInfo(".").FullName,
45+
UseShellExecute = false,
46+
CreateNoWindow = true,
47+
RedirectStandardOutput = true
48+
};
49+
var gitProc = Process.Start(processInfo);
50+
gitProc.WaitForExit();
51+
if (gitProc.ExitCode != 0)
52+
{
53+
Debug.LogError("Failed to get git status, aborting");
54+
return;
55+
}
56+
var ignored = new List<string>();
57+
while (!gitProc.StandardOutput.EndOfStream)
58+
{
59+
var line = gitProc.StandardOutput.ReadLine();
60+
if (line.StartsWith("??"))
61+
{
62+
ignored.Add(line.Substring(2).Trim().Replace('/', '\\'));
63+
}
64+
}
65+
66+
Debug.Log($"Exporting version {manifest.version}");
67+
2868
var exportDir = Path.Combine(Directory.GetCurrentDirectory(), "Exports");
2969
Directory.CreateDirectory(exportDir);
30-
AssetDatabase.ExportPackage
31-
(
32-
_exportFolders,
33-
Path.Combine(exportDir, $"orl-shaders-combined-{manifest.Version}.unitypackage"),
34-
ExportPackageOptions.Recurse | ExportPackageOptions.Interactive
35-
);
36-
37-
AssetDatabase.ExportPackage
38-
(
39-
_exportFolders[0],
40-
Path.Combine(exportDir, $"sh.orels.shaders-standalone-{manifest.Version}.unitypackage"),
41-
ExportPackageOptions.Recurse | ExportPackageOptions.Interactive
42-
);
43-
44-
AssetDatabase.ExportPackage
45-
(
46-
_exportFolders[1],
47-
Path.Combine(exportDir, $"sh.orels.shaders.inspector-standalone-{manifest.Version}.unitypackage"),
48-
ExportPackageOptions.Recurse | ExportPackageOptions.Interactive
49-
);
50-
51-
AssetDatabase.ExportPackage
52-
(
53-
_exportFolders[2],
54-
Path.Combine(exportDir, $"sh.orels.shaders.generator-standalone-{manifest.Version}.unitypackage"),
55-
ExportPackageOptions.Recurse | ExportPackageOptions.Interactive
56-
);
70+
71+
// Export .unitypackage files
72+
ExportAsUnityPackage(_exportFolders, ignored, Path.Combine(exportDir, $"sh.orels.shaders-combined-{manifest.version}.unitypackage"));
73+
ExportAsUnityPackage(_exportFolders[0], ignored, Path.Combine(exportDir, $"sh.orels.shaders-standalone-{manifest.version}.unitypackage"));
74+
ExportAsUnityPackage(_exportFolders[1], ignored, Path.Combine(exportDir, $"sh.orels.shaders.inspector-standalone-{manifest.version}.unitypackage"));
75+
ExportAsUnityPackage(_exportFolders[2], ignored, Path.Combine(exportDir, $"sh.orels.shaders.generator-standalone-{manifest.version}.unitypackage"));
76+
77+
// Export .zip files
78+
ExportAsZip(_exportFolders[0], ignored, Path.Combine(exportDir, $"sh.orels.shaders-{manifest.version}.zip"));
79+
ExportAsZip(_exportFolders[1], ignored, Path.Combine(exportDir, $"sh.orels.shaders.inspector-{manifest.version}.zip"));
80+
ExportAsZip(_exportFolders[2], ignored, Path.Combine(exportDir, $"sh.orels.shaders.generator-{manifest.version}.zip"));
81+
82+
// Open the export folder
83+
var exportedPath = new FileInfo("Exports").FullName;
84+
Process.Start(exportedPath);
85+
}
86+
87+
private static void ExportAsUnityPackage(string[] baseFolders, List<string> ingored, string exportPath)
88+
{
89+
var list = baseFolders.SelectMany(f => Directory.GetFiles(f, "*", SearchOption.AllDirectories))
90+
.Select(f => f.Replace('/', '\\'))
91+
.Where(f => !ingored.Any(i => f.Contains(i, StringComparison.InvariantCultureIgnoreCase)))
92+
.ToArray();
93+
94+
Debug.Log("Packages\\sh.orels.shaders\\Editor\\Dependencies\\ORLLayoutToolkit.cs".Contains("Packages\\sh.orels.shaders\\Editor\\Dependencies\\"));
95+
AssetDatabase.ExportPackage(list, exportPath, ExportPackageOptions.Recurse);
96+
}
97+
98+
private static void ExportAsUnityPackage(string baseFolder, List<string> ingored, string exportPath)
99+
{
100+
var list = Directory.GetFiles(baseFolder, "*", SearchOption.AllDirectories)
101+
.Select(f => f.Replace('/', '\\'))
102+
.Where(f => !ingored.Any(i => f.Contains(i, StringComparison.InvariantCultureIgnoreCase)))
103+
.ToArray();
104+
AssetDatabase.ExportPackage(list, exportPath, ExportPackageOptions.Recurse);
105+
}
106+
107+
private static void ExportAsZip(string baseFolder, List<string> ingored, string exportPath)
108+
{
109+
var list = Directory.GetFiles(baseFolder, "*", SearchOption.AllDirectories)
110+
.Select(f => f.Replace('/', '\\'))
111+
.Where(f => !ingored.Any(i => f.Contains(i, StringComparison.InvariantCultureIgnoreCase)))
112+
.ToArray();
113+
114+
if (File.Exists(exportPath)) File.Delete(exportPath);
115+
var basePath = baseFolder.Replace('/', '\\') + '\\';
116+
using (var zip = new ZipArchive(File.OpenWrite(exportPath), ZipArchiveMode.Create))
117+
{
118+
foreach (var file in list)
119+
{
120+
var entry = zip.CreateEntry(file.Replace(basePath, "").Replace('\\', '/'));
121+
using (var stream = File.OpenRead(file))
122+
{
123+
using (var entryStream = entry.Open())
124+
{
125+
stream.CopyTo(entryStream);
126+
}
127+
}
128+
}
129+
}
57130
}
58131
}
59132
}

Packages/com.vrchat.core.vpm-resolver/Editor/Resources.meta renamed to Assets/Tools/Editor/Resources.meta

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)