pactorio

Crates.iopactorio
lib.rspactorio
version0.6.0
sourcesrc
created_at2020-09-01 19:47:29.986223
updated_at2022-10-01 23:02:37.738781
descriptionMod packager for Factorio
homepagehttps://github.com/figsoda/pactorio
repositoryhttps://github.com/figsoda/pactorio
max_upload_size
id283579
size71,460
(figsoda)

documentation

README

Pactorio

release version deps license ci

Mod packager for Factorio

Installation

repology

The latest precompiled binaries are available on github.

Alternatively you can install pactorio from crates.io with cargo.

cargo install pactorio

Building from source

cargo build --release

Usage

pactorio [FLAGS] [OPTIONS]
option description
-c, --compact Output info.json compactly
-z, --zip Output a zip file instead
--compression <method> Specify the compression method, ignored without the -z/--zip flag
default: stored
possible values: stored, bzip2, deflate, zstd
-d, --dir <directory> Set working directory
-i, --input <file> Specify the config file to use
default: pactorio.toml
-o, --output <directory> Specify the output directory
default: release
-u, --upload [<api-key>] Upload to mod portal
Requires an API key, which can be created on https://factorio.com/profile
-h, --help Prints help information (use -h for a summary)
-V, --version Prints version information

Configuration

By default, pactorio uses pactorio.toml as its config file.

It is similar to the info.json file and uses TOML syntax.

Here is an example of a pactorio config file.

# Information about your package, similar to info.json
# https://wiki.factorio.com/Tutorial:Mod_structure#info.json
[package]

# Mandatory, internal name of your mod
name = "example_mod"

# Mandatory, version of your mod, "main.major.minor"
version = "0.1.0"

# Mandatory, display name of your mod
title = "Example mod"

# Mandatory, author of your mod, You
author = "You"

# Optional, for example your email address
contact = "you@example.com"

# Optional, link to the homepage of your mod
homepage = "https://you.example.com"

# Optional, short description of your mod
description = "Example mod. Does something and some other things. "

# Optional, default: "0.12", usually needs to be added
factorio_version = "1.0"



# Dependencies are separated into four parts, All four of them are optional
# They are under a table named "deps", you can also use "dependencies"


# Required dependencies
[deps.required]

# Same as "base >= 1.0" in info.json
base = ">= 1.0"


# Conflict or incompatible dependencies
[deps.conflict] # or [deps.incompatible]

# Same as "! bad_mod" in info.json
bad_mod = ""

# Same as "! incomp < 3" in info.json
incomp = "< 3"


# Optional dependencies
[deps.optional]

# Same as "opt_dep = 0.2.1" in info.json
opt_dep = "= 0.2.1"


# Hidden optional dependencies
[deps.hidden]

# Same as "hidden_dep > 2.0" in info.json
hidden_dep = "> 2.0"



# Optional, source directory
[source]

# Pactorio will use all the files under this directory
# Optional, default: "src"
dir = "src"

# A list of glob patterns to represent the files to include
# Relative to your source directory
# Optional, default: ["**/**"]
include = ["**/**"]

# A list of glob patterns to represent the files to ignore
# Relative to your source directory
# Optional, default: []
ignore = []

Changelog

See CHANGELOG.md

Commit count: 946

cargo fmt