tracking-sheet.md 3.9 KB
Newer Older
Dorian Baret's avatar
Dorian Baret committed
1
2
[Back](README.md)

3
4
# Tracking sheet

Dorian Baret's avatar
Dorian Baret committed
5
The project started on January 25, 2021
6

Dorian Baret's avatar
Dorian Baret committed
7
8
9
## Week 1 (25-01-2021) : 
- beginning of language learning
    + >[Rust book](https://doc.rust-lang.org/book/)
Lucas Chaloyard's avatar
Lucas Chaloyard committed
10

Dorian Baret's avatar
Dorian Baret committed
11
12
    + >[Rust by example](https://doc.rust-lang.org/stable/rust-by-example/index.html)
- setting up of a Rust language cheat sheet (on our private drive google)
Lucas Chaloyard's avatar
Lucas Chaloyard committed
13

Dorian Baret's avatar
Dorian Baret committed
14
15
16
17
18
## Week 2 (01-02-2021)
- installation of the rust environment
    + >[Toolchain rustup](https://www.rust-lang.org/tools/install)

    + >[VSCode Extension](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust)
Lucas Chaloyard's avatar
Lucas Chaloyard committed
19
20
- learning Rust
- studying GNU parallel
Dorian Baret's avatar
Dorian Baret committed
21
22
23
24
25
26
27
28
29
    + >[2 Learn GNU Parallel in 15 minutes - GNU Parallel Book - Ole Tange
](books/GNU_Parallel_2018.pdf)
## Week 3 (08-02-2021)
- learning Rust
    - starting and finishing the [minigrep project](https://doc.rust-lang.org/book/ch12-00-an-io-project.html)
    - starting the [Web Server project](https://doc.rust-lang.org/book/ch20-00-final-project-a-web-server.html)
- [technological watch](technological-watch.md)
    - editing from our research on Rust since the beginning of the project
- initialization of project sources [`rust-parallel`](https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/14/rust-parallel) in the git repository
Lucas Chaloyard's avatar
Lucas Chaloyard committed
30

Dorian Baret's avatar
Dorian Baret committed
31
32
33
34
35
36
37
38
## Week 4 (15-02-2021 | holidays)
- ended the learning of Rust 
    + end server project
- technologie watch

## Week 5 (22-02-2021)
- study of GNU parallel
- wrote a first draw of our grammar
Dorian Baret's avatar
Dorian Baret committed
39

Dorian Baret's avatar
Dorian Baret committed
40
![grammar v1](images/grammar_v1.png)
Dorian Baret's avatar
Dorian Baret committed
41

Dorian Baret's avatar
Dorian Baret committed
42
43
44
45
46
- a little training in Rust: creating an [input system in console](https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/20-21/14/rust-parallel/-/tree/entrycmd) mode like GNU parallel

## Week 6 (01-03-2021)
- wrote our [specifications](specification.md)
    + Project tree structure
Dorian Baret's avatar
Dorian Baret committed
47
48
49
    + Main objectif
    + Digram
- looked for [another framework](technological-watch.md##Asynchronous-framework) than Tokio
Dorian Baret's avatar
Dorian Baret committed
50
51
52
- writing of some code samples using Tokio
>the research was conclusive

Dorian Baret's avatar
Dorian Baret committed
53
> :warning: Now, these researches have been merge on master to really start the project
Dorian Baret's avatar
Dorian Baret committed
54
55
56
57
58
59
60
61

## Week 7 (08-03-2021)
- [mid-term presentation](soutenance-mi_parcours.pdf)
- definition of the features to be implemented 
    + client/server
    + grammare
        - search for a crate to parse a command line
        - first tests on the different crates
Dorian Baret's avatar
Dorian Baret committed
62
63
64
65
    + execution flow : manage the options, selected for our project, in the execution flow
    + interpretation of an AST (Abstract Syntax Tree)

## Week 8 (15-03-2021)
66
67
68
69
70
71
- execution flow : branch **exec** -
    + set up thread worker
        - set up dry_run : it works
        - set up keep_order : it works
        - retrieves stdout asynchronously using a "multi-producer, single-consumer" approach 
- grammar parsing : 
72
73
    + first steps with pest crate
    + implementing our grammar in .pest format
74
75
76
77
78
79
    + first parsing tests with simple input from a file
- client/server : branch **remoteExec-code**
    + code refactoring in a Channel mod
    + redesigning of Client/Server in order for them to use Channel
    + implementation of a test (using of predefined server address)
        - Client : cargo run -- -c [msgToSend]"
Yaël's avatar
Yaël committed
80
81
82
83
        - Server : cargo run -- -s"
- interpretor : branch **interpretor**
    + new version of the function interpret in order to create jobs
    + modification of Job class without arguments   
Lucas Chaloyard's avatar
Lucas Chaloyard committed
84
85
86
87
88
89
90

## Week 9 (22-03-2021)
- client/server : branch **remoteExec-code**
    + add the file transfer option
        - create temporary file in the crate (directory ./tmp/)
        - handle the case of file with same names (use version notation, ex : toto, toto(1), toto(2))
    + fix of a few bugs
91
92
93
94
- execution flow : 
    + comment on the code
    + new test
        - incident : If an error occurs during the execution of the command then we fall into an infinite wait.
Dorian Baret's avatar
Dorian Baret committed
95
96
97
98
99
100
101
102

## Week 9 (29-03-2021)
- merge on master of
    + execution flow
    + client/server
    + parser/interpretor
- last test of our code
- try to generate documentation