Skip to content

Commit

Permalink
chore: merge plugin repos into one
Browse files Browse the repository at this point in the history
  • Loading branch information
icrdr committed May 7, 2024
1 parent 3f7dbc2 commit 4787045
Show file tree
Hide file tree
Showing 60 changed files with 3,505 additions and 80 deletions.
6 changes: 6 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
*.hda filter=lfs diff=lfs merge=lfs -text
*.idx filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.spt filter=lfs diff=lfs merge=lfs -text
*.sppr filter=lfs diff=lfs merge=lfs -text
*.spexp filter=lfs diff=lfs merge=lfs -text
57 changes: 57 additions & 0 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# release title (appears, for example, in repo's sidebar)
# NOTE: $RESOLVED_VERSION == $MAJOR.$MINOR.$PATCH
name-template: "v$RESOLVED_VERSION"

# git tag to be used for the release
tag-template: "v$RESOLVED_VERSION"

# Release Notes template (keep it as is)
template: |
## What’s Changed
$CHANGES
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks.

# Define which PR label will cause which kind of
# version bump (following semantic versioning).
# If no labels match, the default "patch".
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: patch

# Define which PR label will be listed in which
# category of changes in the Release Notes.
# If no labels match, the default is to be
# listed on the top, before the sections.
categories:
- title: "🚨 BREAKING CHANGES 🚨"
labels:
- "BREAKING CHANGE"
- title: "🚀 New Features"
labels:
- "feature"
- "enhancement"
- title: "🐛 Bug Fixes"
labels:
- "fix"
- "bug"
- title: "🛠️ Other Changes"
labels:
- "chore"
- "refactor"
- "documentation"
- "style"
- "test"
- "revert"
- "dependencies"
- "ci"
24 changes: 24 additions & 0 deletions .github/workflows/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Release Drafter

on:
push:
branches:
- main
pull_request:
types: [opened, reopened, synchronize, labeled, unlabeled]

permissions:
contents: read

jobs:
update_release_draft:
permissions:
# write permission required to create a github release
contents: write
# write permission required for autolabeler
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
118 changes: 118 additions & 0 deletions .github/workflows/upload-assets.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
name: Upload Assets to Release

on:
push:
branches:
- "release/*"

jobs:
# draft_release:
# name: Draft Release
# runs-on: ubuntu-latest
# outputs:
# upload_url: ${{ steps.draft_release.outputs.upload_url }}
# version: ${{ steps.set_env.outputs.version }}
# steps:
# - name: Set Version Env
# id: set_env
# run: |
# ref_name=${{ github.ref_name }}
# echo "version=${ref_name#release/}" >> "$GITHUB_OUTPUT"
# - name: Get release
# id: draft_release
# uses: cardinalby/[email protected]
# with:
# releaseName: Draft
# env:
# GITHUB_TOKEN: ${{ github.token }}

draft_release:
name: Draft Release
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.draft_release.outputs.upload_url }}
version: ${{ steps.set_env.outputs.version }}
steps:
- name: Set Version Env
id: set_env
run: |
ref_name=${{ github.ref_name }}
echo "version=${ref_name#release/}" >> "$GITHUB_OUTPUT"
- name: Draft Release ${{ steps.set_env.outputs.version }}
uses: release-drafter/release-drafter@v5
id: draft_release
with:
name: ${{ steps.set_env.outputs.version }}
tag: ${{ steps.set_env.outputs.version }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

upload_blender_addon:
name: Upload Blender Add-on
needs: draft_release
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Zip Add-on
run: |
cd plugins/blender
zip -r package.zip omoospaceblender
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.draft_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: plugins/blender/package.zip
asset_name: Omoospace-Blender_${{ needs.draft_release.outputs.version }}.zip
asset_content_type: application/zip

upload_houdini_package:
name: Upload Houdini Package
needs: draft_release
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9", "3.10"]
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
lfs: "true"
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: |
cd plugins/houdini
python -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
python -m pip list
- name: Move Dependencies
run: |
cd plugins/houdini
mkdir -p pythonlib${{ matrix.python-version }}/Lib
mv venv/lib/python${{ matrix.python-version }}/site-packages pythonlib${{ matrix.python-version }}/Lib/
rm -r venv
- name: Zip Package
run: |
cd plugins/houdini
zip -r package.zip packages preferences pythonlib${{ matrix.python-version }} python nodes.json README.md
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.draft_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: plugins/houdini/package.zip
asset_name: Omoospace-Houdini_${{ needs.draft_release.outputs.version }}_py${{ matrix.python-version }}.zip
asset_content_type: application/zip
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,8 @@ dmypy.json

# Test OmooSpace
temp

# python env
pythonlib*

.secrets
21 changes: 0 additions & 21 deletions .vscode/settings.json

This file was deleted.

24 changes: 8 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
# Omoospace

[中文文档](https://www.figma.com/proto/JsTmI3JwGQ3Q3qEThAJv15/Omoospace?page-id=0%3A1&type=design&node-id=1-2&viewport=-726%2C827%2C0.2&t=gOuR9PgBJRNM62R0-1&scaling=contain&mode=design)

Omoospace is a scalable directory structure solution for digital creation works. We provide a Python library for managing omoospace, including creating omoospace, shipping packages, setting subspace, etc.
[中文文档](https://uj6xfhbzp0.feishu.cn/wiki/XOtgwlQ3Hism0MkzOeBcMXrqnQe?from=from_copylink)

[What is "Omoospace", and how does it rule all your creation files?](https://omoolab.github.io/Omoospace/latest/)

This library is for developing DCC plugins like blender add-ons to integrate omoospace into software. Remember, omoospace is just a directory guide. It should be easy to maintain manually. We do not recommend any over-design that only works by using plugins. This library aims to build plugins to avoid repetitive work and have a global view of the entire workspace structure, which consists of nested subspaces, not to manage a project entirely on a program without touching the folders.

We developed some plugins already:
# Omoospace

- [Houdini](https://github.com/OmooLab/Omoospace-Houdini)
- [Blender](https://github.com/OmooLab/Omoospace-Blender)
Omoospace is a directory structure guideline for digital creation works. Its aim is universality, flexibility, and semantics not only for large projects and teamwork but also for small projects and solo work. Whether it is a 3d modeling task or a series production, it all fits.

## Usage
If you are not sure how to design your project directory right, you can follow the omoospace rules, [click here to start](https://omoolab.github.io/Omoospace/latest/why_omoospace)

### [For CG Artists](https://omoolab.github.io/Omoospace/latest/artists/)
We provide some DCC plugins for CG artists to easily manage your projects following omoospace rules.

### [For Plugin Developers](https://omoolab.github.io/Omoospace/latest/developers/)
- [Blender](https://omoolab.github.io/Omoospace/latest/plugins/blender)
- [Houdini](https://omoolab.github.io/Omoospace/latest/plugins/houdini)

### [For Code Contributors](https://omoolab.github.io/Omoospace/latest/contributors/)
We also provide a python library for developing plugins, [read me for more info.](https://omoolab.github.io/Omoospace/latest/plugins/develop_plugin)
6 changes: 0 additions & 6 deletions docs/artists.md

This file was deleted.

Binary file added docs/assets/copy-parent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/file-selection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/filecache.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/menu.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/new-omoospace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/sublayer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
2 changes: 1 addition & 1 deletion docs/developers.md → docs/develop_plugin.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# For Plugin Developers
# Develop a Plugin

## Installation

Expand Down
24 changes: 8 additions & 16 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,14 @@
# Omoospace

[In Chinese](https://www.figma.com/proto/JsTmI3JwGQ3Q3qEThAJv15/Omoospace?page-id=0%3A1&type=design&node-id=1-2&viewport=-726%2C827%2C0.2&t=gOuR9PgBJRNM62R0-1&scaling=contain&mode=design)

Omoospace is a scalable directory structure solution for digital creation works. We provide a Python library for managing omoospace, including creating omoospace, shipping packages, setting subspace, etc.
[中文文档](https://uj6xfhbzp0.feishu.cn/wiki/XOtgwlQ3Hism0MkzOeBcMXrqnQe?from=from_copylink)

[What is "Omoospace", and how does it rule all your creation files?](omoospace.md)

This library is for developing DCC plugins like blender add-ons to integrate omoospace into software. Remember, omoospace is just a directory guide. It should be easy to maintain manually. We do not recommend any over-design that only works by using plugins. This library aims to build plugins to avoid repetitive work and have a global view of the entire workspace structure, which consists of nested subspaces, not to manage a project entirely on a program without touching the folders.

We developed some plugins already:
# Omoospace

- [Houdini](https://github.com/OmooLab/Omoospace-Houdini)
- [Blender](https://github.com/OmooLab/Omoospace-Blender)
Omoospace is a directory structure guideline for digital creation works. Its aim is universality, flexibility, and semantics not only for large projects and teamwork but also for small projects and solo work. Whether it is a 3d modeling task or a series production, it all fits.

## Usage
If you are not sure how to design your project directory right, you can follow the omoospace rules, [click here to start](https://omoolab.github.io/Omoospace/latest/why_omoospace)

### [For CG Artists](artists.md)
We provide some DCC plugins for CG artists to easily manage your projects following omoospace rules.

### [For Plugin Developers](developers.md)
- [Blender](https://omoolab.github.io/Omoospace/latest/plugins/blender)
- [Houdini](https://omoolab.github.io/Omoospace/latest/plugins/houdini)

### [For Code Contributors](contributors.md)
We also provide a python library for developing plugins, [read me for more info.](https://omoolab.github.io/Omoospace/latest/plugins/develop_plugin)
6 changes: 1 addition & 5 deletions docs/omoospace.md → docs/omoospace_rules.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
# What is omoospace?

Omoospace is a scalable directory structure solution for digital creation works. Its aim is universality, flexibility, and semantics not only for large projects and teamwork but also for small projects and solo work. Whether it is a 3d modeling task or a series production, it all fits.

## Overview
# Omoospace Rules

The rules are simple:

Expand Down
1 change: 1 addition & 0 deletions docs/plugins/blender.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Blender
1 change: 1 addition & 0 deletions docs/plugins/houdini.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Houdini
4 changes: 0 additions & 4 deletions docs/roadmap.md

This file was deleted.

1 change: 1 addition & 0 deletions docs/why_omoospace.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Why Omoospace?
25 changes: 14 additions & 11 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,21 @@ repo_name: omoolab/omoospace
repo_url: https://github.com/omoolab/omoospace

nav:
- Getting Started:
- Overview:
- index.md
- What is omoospace?: omoospace.md
- For CG Artists: artists.md
- For Plugin Developers: developers.md
- For Code Contributors: contributors.md
- Features Roadmap: roadmap.md
- API Reference:
- Omoospace: apis/omoospace.md
- Subspace: apis/subspace.md
- Package: apis/package.md
- Utils: apis/utils.md
- Why Omoospace?: why_omoospace.md
- Omoospace Rules: omoospace_rules.md
- Omoospace Plugins:
- Blender: plugins/blender.md
- Houdini: plugins/houdini.md
- Develop a Plugin:
- develop_plugin.md
- API Reference:
- Omoospace: apis/omoospace.md
- Subspace: apis/subspace.md
- Package: apis/package.md
- Utils: apis/utils.md
- Contribution: contribution.md

theme:
name: material
Expand Down
Loading

0 comments on commit 4787045

Please sign in to comment.