All Projects → Senparc → DPB

Senparc / DPB

Licence: Apache-2.0 license
Dynamic Project Builder

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to DPB

gogen
Command-line tool to generate GO applications and libraries
Stars: ✭ 17 (-22.73%)
Mutual labels:  builder, code, project
SharpLoader
🔮 [C#] Source code randomizer and compiler
Stars: ✭ 36 (+63.64%)
Mutual labels:  code, project
Hacktoberfest-2021
This repository aims to help code beginners with their first successful pull request and open source contribution. 🥳🎯🚀
Stars: ✭ 24 (+9.09%)
Mutual labels:  code, project
Beginners C Program Examples
Simple, Short and Sweet beginners friendly C language programs
Stars: ✭ 138 (+527.27%)
Mutual labels:  code, project
Updated Carbanak Source With Plugins
https://twitter.com/itsreallynick/status/1120410950430089224
Stars: ✭ 303 (+1277.27%)
Mutual labels:  builder, code
sphinx-markdown-builder
sphinx builder that outputs markdown files.
Stars: ✭ 135 (+513.64%)
Mutual labels:  builder, code
Dyci Main
Dynamic Code Injection Tool for Objective-C
Stars: ✭ 1,103 (+4913.64%)
Mutual labels:  code, dynamic
gsql
GSQL is a structured query language code builder for golang.
Stars: ✭ 106 (+381.82%)
Mutual labels:  builder, code
lowcode
React Lowcode - prototype, develop and maintain internal apps easier
Stars: ✭ 32 (+45.45%)
Mutual labels:  builder, code
Ngx Dynamic Form Builder
FormBuilder + class-transformer + class-validator = dynamic form group builder for Angular10+
Stars: ✭ 93 (+322.73%)
Mutual labels:  builder, dynamic
Zeus
An Electrifying Build System
Stars: ✭ 176 (+700%)
Mutual labels:  builder, project
dtw-python
Python port of R's Comprehensive Dynamic Time Warp algorithms package
Stars: ✭ 139 (+531.82%)
Mutual labels:  dynamic
flaskcode
A web based code editor on python flask framework.
Stars: ✭ 43 (+95.45%)
Mutual labels:  code
SilentETHMiner
A Silent (Hidden) Ethereum (ETH & ETC) Miner Builder
Stars: ✭ 219 (+895.45%)
Mutual labels:  builder
now-custom-runtime
ZEIT Now v2.0 builder for custom AWS Lambda runtimes
Stars: ✭ 21 (-4.55%)
Mutual labels:  builder
Gestures-Samples
Project Prague Code Samples
Stars: ✭ 98 (+345.45%)
Mutual labels:  code
rename-tool
一个基于 .NET Core 2.x 实现的项目重命名工具
Stars: ✭ 16 (-27.27%)
Mutual labels:  project
essex
Essex - Boilerplate for Docker Based Projects
Stars: ✭ 32 (+45.45%)
Mutual labels:  project
medium-code
A place to store my jupyter notebooks for my medium articles
Stars: ✭ 27 (+22.73%)
Mutual labels:  code
BloodBank
A simple android project for blood management system.
Stars: ✭ 126 (+472.73%)
Mutual labels:  project

DPB: Dynamic Project Builder

DPB is a tool that allows developers to automatically generate project code.

You can add annotations to the code templates, and use DPB to automatically filter or generate code to build a complete new project.

DPB support for all files and all languages.

Why I need DPB

We always build new customized projects and template projects. When new project requirements come, we have to copy the whole project files and do a lot of washing jobs: remove the files, change the key contents, modify configuration values and so on.

Also when we published an open source project, we always support Demo / Sample and Documents. But it's really not every developer wants to read all of the code and sample project and documents.

With DPB, you just need to put same marks into your code, such as DPBMARK Keep and 'DPBMARK_END', or configure a profile, then run DPB, it will build a new clearn-project into the Output Directory, just keep the code and files you want.

How to use

Method 1: Build App by your own

  1. Install the DPB from Nuget into your project(or compile the source code): https://www.nuget.org/packages/DPB/

Both your working prject or a new project are OK.

  1. Create a new class, such as BuildProject.cs

  2. Create a method such as Build() in to BuildBProject

  3. Create a manifest entity, and set the SourceDir(your template peojrct_ and OutputDir:

using DPB.Models;

namespace DPB.Tests
{
    public class BuildProject
    {
        public void Build()
        {
            Manifest manifest = new Manifest();
            manifest.SourceDir = "..\\..\\SourceDir";//or absolute address: e:\ThisProject\src
            manifest.OutputDir = "..\\..\\OutputDir";//or absolute address: e:\ThisProject\Output
        }
    }
}
  1. set the rules, such as :

Remove content block

            //keep content Condition - while all the code blocks in *.cs files with keywrod mark: DPBMARK MP
            manifest.ConfigGroup.Add(new GroupConfig()
            {
                Files = new List<string>() { "*.cs" },
                KeepContentConiditions = new List<string>() { "MP" }
            });

it will keep the code in your source project with the certain code block:

            //DPBMARK MP
            var tip = "this line will stay here in OutputDir while Conditions have MP keyword.";
            //DPBMARK_END

When another code block with DPBMARK OTHER instead of DPBMARK MP in the file region, the block will be removed.

You can also set multiple KeepContentConiditions keywords to keep the code stay in new project.

The code (or any text file content) with out DPBMARK mark bolck will always keep in new project.

Delete whole file

If you want to remove a file, just Add the following code into the file in any where:

DPBMARK_FILE RemoveFile

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].