File src/backend/git/ignore.rs changed (mode: 100644) (index 698ac0e..a1325a6) |
... |
... |
use std::io::{ErrorKind, Write}; |
2 |
2 |
use std::path::PathBuf; |
use std::path::PathBuf; |
3 |
3 |
use std::fs::OpenOptions; |
use std::fs::OpenOptions; |
4 |
4 |
|
|
|
5 |
|
#[allow(dead_code)] |
5 |
6 |
pub fn add(path: &mut PathBuf, item: &mut String) -> Result<(), String> { |
pub fn add(path: &mut PathBuf, item: &mut String) -> Result<(), String> { |
6 |
7 |
path.push(".gitignore"); |
path.push(".gitignore"); |
7 |
8 |
item.push('\n'); |
item.push('\n'); |
8 |
9 |
|
|
9 |
10 |
let file_options = OpenOptions::new() |
let file_options = OpenOptions::new() |
10 |
11 |
.append(true) |
.append(true) |
|
12 |
|
.create(true) |
11 |
13 |
.open(&path); |
.open(&path); |
12 |
14 |
|
|
13 |
15 |
match file_options { |
match file_options { |
|
... |
... |
pub fn add(path: &mut PathBuf, item: &mut String) -> Result<(), String> { |
31 |
33 |
} |
} |
32 |
34 |
} |
} |
33 |
35 |
|
|
34 |
|
// pub fn init(); // Moet evt .gitignore aanmaken en de dep folder in de .gitignore plaatsen. |
|
|
36 |
|
pub fn init(path: &mut PathBuf) -> Result<(), String> { |
|
37 |
|
path.push(".gitignore"); |
|
38 |
|
|
|
39 |
|
let file_options = OpenOptions::new() |
|
40 |
|
.append(true) |
|
41 |
|
.create(true) |
|
42 |
|
.open(&path); |
|
43 |
|
|
|
44 |
|
match file_options { |
|
45 |
|
Ok(mut file) => { |
|
46 |
|
match file.write(b"dep\n") { |
|
47 |
|
Ok(_) => Ok(()), |
|
48 |
|
Err(e) => Err(e.to_string()) |
|
49 |
|
} |
|
50 |
|
}, |
|
51 |
|
Err(e) => { |
|
52 |
|
match e.kind() { |
|
53 |
|
ErrorKind::NotFound => { |
|
54 |
|
let mut error = String::from(path.to_str().unwrap()); |
|
55 |
|
error.push_str(" not found"); |
|
56 |
|
Err(error) |
|
57 |
|
}, |
|
58 |
|
ErrorKind::PermissionDenied => Err(String::from("gitignore file unreadable: permission denied.")), |
|
59 |
|
_ => Err(e.to_string()) |
|
60 |
|
} |
|
61 |
|
} |
|
62 |
|
} |
|
63 |
|
} |
File src/backend/project.rs changed (mode: 100644) (index 26a9440..ae6853d) |
... |
... |
pub fn init<I>(args: &mut I) where I: Iterator<Item=String> { |
10 |
10 |
directory.push(&projectname); |
directory.push(&projectname); |
11 |
11 |
} |
} |
12 |
12 |
|
|
|
13 |
|
match super::git::ignore::init(&mut directory.clone()) { |
|
14 |
|
Ok(_) => {}, |
|
15 |
|
Err(e) => println!("Add 'dep' folder to .gitignore failed: {}. Continuing with project initialization..", e) |
|
16 |
|
} |
|
17 |
|
|
13 |
18 |
match super::config::create(directory) { |
match super::config::create(directory) { |
14 |
19 |
Ok(_) => println!("Initialized project!"), |
Ok(_) => println!("Initialized project!"), |
15 |
20 |
Err(e) => println!("Initializing project failed: {}", e) |
Err(e) => println!("Initializing project failed: {}", e) |
|
... |
... |
pub fn delete<I>(path: &mut I) -> Result<String, String> where I: Iterator<Item= |
106 |
111 |
} |
} |
107 |
112 |
|
|
108 |
113 |
pub fn add(args: &Vec<String>) -> Result<String, String> { |
pub fn add(args: &Vec<String>) -> Result<String, String> { |
109 |
|
let mut dep: String = match args.get(0) { |
|
|
114 |
|
let _dep: String = match args.get(0) { |
110 |
115 |
Some(arg) => arg.clone(), |
Some(arg) => arg.clone(), |
111 |
116 |
None => return Err(String::from("Missing dependency name as argument.")) |
None => return Err(String::from("Missing dependency name as argument.")) |
112 |
117 |
}; |
}; |
113 |
118 |
|
|
114 |
119 |
match super::filesystem::get_current_module_root() { |
match super::filesystem::get_current_module_root() { |
115 |
120 |
Some(dir) => { |
Some(dir) => { |
116 |
|
match super::git::ignore::add(&mut dir.clone(), &mut dep) { |
|
117 |
|
Ok(_) => {}, |
|
118 |
|
Err(e) => return Err(e) |
|
119 |
|
} |
|
120 |
|
|
|
121 |
121 |
match super::add::add(args) { |
match super::add::add(args) { |
122 |
122 |
Ok(msg) => println!("{}", msg), |
Ok(msg) => println!("{}", msg), |
123 |
123 |
Err(e) => return Err(e) |
Err(e) => return Err(e) |