<commit_before># GOP

**Notice: We have changed the project structure and it isn't compitable with before. You have to change the old structure to new manually.**

GOP is a project manangement tool for golang application projects which you can place it anywhere(not in the GOPATH). Also this means it's **not** go-getable. GOP copy all denpendencies to src/vendor directory and all application's source is also in this directory. 

So a common process is below:

```
git clone <EMAIL>:bac/aaa.git
cd aaa
gop ensure
gop build
gop test
```

## Features

* GOPATH compitable
* Multiple build targets support

## Installation

Please ensure you have install the `go` command, GOP  will invoke it on building or testing

```
go get github.com/lunny/gop
```

## Directory structure

This is an example project's directory.

```
<project root>
├── gop.yml
├── bin
├── doc
└── src
    ├── main
    │   └── main.go
    ├── models
    │   └── models.go
    ├── routes
    │   └── routes.go
    └── vendor
        └── github.com
            ├── go-xorm
            │   ├── builder
            │   ├── core
            │   └── xorm
            └── lunny
                ├── log
                └── tang o
```

## Gop.yml

The project yml configuration file. This is an example.

```yml
name: gop
assets:
  - public
  - templates
  - config.ini
  - key.pem
  - cert.pem
```

## Command

### init

Create the default directory structs.

```
gop init
```

### ensure

Auto copy dependencies from $GOPATH to local project directory.

```
gop ensure
```

### status

List all dependencies of this project and show the status.

```
gop status
```
<commit_msg>update README.md about gop.yml<commit_after># GOP

**Notice: We have changed the project structure and it isn't compitable with before. You have to change the old structure to new manually.**

GOP is a project manangement tool for golang application projects which you can place it anywhere(not in the GOPATH). Also this means it's **not** go-getable. GOP copy all denpendencies to src/vendor directory and all application's source is also in this directory. 

So a common process is below:

```
git clone <EMAIL>:bac/aaa.git
cd aaa
gop ensure
gop build
gop test
```

## Features

* GOPATH compitable
* Multiple build targets support

## Installation

Please ensure you have install the `go` command, GOP  will invoke it on building or testing

```
go get github.com/lunny/gop
```

## Directory structure

This is an example project's directory.

```
<project root>
├── gop.yml
├── bin
├── doc
└── src
    ├── main
    │   └── main.go
    ├── models
    │   └── models.go
    ├── routes
    │   └── routes.go
    └── vendor
        └── github.com
            ├── go-xorm
            │   ├── builder
            │   ├── core
            │   └── xorm
            └── lunny
                ├── log
                └── tang o
```

## Gop.yml

The project yml configuration file. This is an example.

```yml
targets:
- name: myproject
  dir: main
  assets:
  - templates
  - public
  - config.ini
  - key.pem
  - cert.pem
```

## Command

### init

Create the default directory structs.

```
gop init
```

### ensure

Auto copy dependencies from $GOPATH to local project directory.

```
gop ensure
```

### status

List all dependencies of this project and show the status.

```
gop status
```

{'fraction_non_alphanumeric': 0.11561561561561562, 'fraction_numerical': 0.0, 'mean_word_length': 2.593311758360302, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1105040', 'n_tokens_mistral': 1138, 'n_tokens_neox': 1089, 'n_words': 442}