Skip to content

Commit 3a049fe

Browse files
authored
Organize imports (#899)
Group imports by crate. Add instructions to the PR template about clippy and fmt. Remove PR comments because they don't work on forks. Signed-off-by: David Calavera <david.calavera@gmail.com>
1 parent f484569 commit 3a049fe

File tree

42 files changed

+155
-181
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+155
-181
lines changed

.github/PULL_REQUEST_TEMPLATE.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
*Issue #, if available:*
1+
📬 *Issue #, if available:*
22

3-
*Description of changes:*
3+
✍️ *Description of changes:*
44

5-
By submitting this pull request
5+
🔏 *By submitting this pull request*
66

7-
- [ ] I confirm that my contribution is made under the terms of the Apache 2.0 license.
7+
- [ ] I confirm that I've ran `cargo +nightly fmt`.
8+
- [ ] I confirm that I've ran `cargo clippy --fix`.
89
- [ ] I confirm that I've made a best effort attempt to update all relevant documentation.
10+
- [ ] I confirm that my contribution is made under the terms of the Apache 2.0 license.

.github/workflows/format.yml

+13-37
Original file line numberDiff line numberDiff line change
@@ -3,53 +3,29 @@ name: Formatting and Linting
33
on: [push, pull_request]
44

55
jobs:
6-
check:
6+
fmt:
7+
name: Cargo fmt
78
runs-on: ubuntu-latest
89
steps:
910
- uses: actions/checkout@v3
10-
- uses: dtolnay/rust-toolchain@stable
11+
- uses: dtolnay/rust-toolchain@nightly
12+
with:
13+
components: rustfmt
1114
- uses: Swatinem/rust-cache@v2
12-
1315
- name: Run fmt check
1416
id: cargoFmt
1517
shell: bash
16-
run: cargo fmt --all -- --check
17-
- name: Notify fmt check
18-
if: failure() && steps.cargoFmt.outcome == 'failure'
19-
uses: actions/github-script@v6
20-
with:
21-
script: |
22-
const message = `👋 It looks like your code is not formatted like we expect.
23-
24-
Please run \`cargo fmt\` and push the code again.`;
25-
26-
await github.rest.issues.createComment({
27-
issue_number: context.issue.number,
28-
owner: context.repo.owner,
29-
repo: context.repo.repo,
30-
body: message,
31-
});
32-
core.setFailed('It looks like there are formatting errors');
33-
18+
run: cargo +nightly fmt --all -- --check
19+
clippy:
20+
name: Cargo clippy
21+
runs-on: ubuntu-latest
22+
steps:
23+
- uses: actions/checkout@v3
24+
- uses: dtolnay/rust-toolchain@stable
25+
- uses: Swatinem/rust-cache@v2
3426
- name: Run clippy check
3527
id: cargoClippy
3628
shell: bash
3729
run: cargo clippy --workspace --all-features -- -D warnings
38-
- name: Notify fmt check
39-
if: failure() && steps.cargoClippy.outcome == 'failure'
40-
uses: actions/github-script@v6
41-
with:
42-
script: |
43-
const message = `👋 It looks like your code has some linting issues.
44-
45-
Please run \`cargo clippy --fix\` and push the code again.`;
46-
47-
await github.rest.issues.createComment({
48-
issue_number: context.issue.number,
49-
owner: context.repo.owner,
50-
repo: context.repo.repo,
51-
body: message,
52-
});
53-
core.setFailed('It looks like there are linting errors');
5430

5531

.rustfmt.toml

+11-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
edition = "2021"
2-
# imports_granularity is unstable
3-
# # https://github.com/rust-lang/rustfmt/blob/master/Configurations.md#merge_imports
4-
# imports_granularity = "Crate"
2+
53
# https://github.com/rust-lang/rustfmt/blob/master/Configurations.md#max_width
64
max_width = 120
5+
6+
#https://github.com/rust-lang/rustfmt/blob/master/Configurations.md#reorder_imports
7+
reorder_imports = true
8+
9+
#https://github.com/rust-lang/rustfmt/blob/master/Configurations.md#unstable_features
10+
unstable_features = true
11+
12+
# imports_granularity is unstable
13+
# https://github.com/rust-lang/rustfmt/blob/master/Configurations.md#merge_imports
14+
imports_granularity = "Crate"

lambda-events/src/custom_serde/codebuild_time.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use chrono::{DateTime, NaiveDateTime, Utc};
2-
use serde::ser::Serializer;
32
use serde::{
43
de::{Deserializer, Error as DeError, Visitor},
4+
ser::Serializer,
55
Deserialize,
66
};
77
use std::fmt;

lambda-events/src/custom_serde/float_unix_epoch.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
use serde::{de, ser};
22
use std::fmt;
33

4-
use chrono::offset::TimeZone;
5-
use chrono::{DateTime, LocalResult, Utc};
4+
use chrono::{offset::TimeZone, DateTime, LocalResult, Utc};
65

76
enum SerdeError<V: fmt::Display, D: fmt::Display> {
87
NonExistent { timestamp: V },

lambda-events/src/custom_serde/headers.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
use http::header::HeaderName;
2-
use http::{HeaderMap, HeaderValue};
3-
use serde::de::{self, Deserializer, Error as DeError, MapAccess, Unexpected, Visitor};
4-
use serde::ser::{Error as SerError, SerializeMap, Serializer};
1+
use http::{header::HeaderName, HeaderMap, HeaderValue};
2+
use serde::{
3+
de::{self, Deserializer, Error as DeError, MapAccess, Unexpected, Visitor},
4+
ser::{Error as SerError, SerializeMap, Serializer},
5+
};
56
use std::{borrow::Cow, fmt};
67

78
/// Serialize a http::HeaderMap into a serde str => Vec<str> map

lambda-events/src/custom_serde/http_method.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
use http::Method;
2-
use serde::de::{Deserialize, Deserializer, Error as DeError, Unexpected, Visitor};
3-
use serde::ser::Serializer;
2+
use serde::{
3+
de::{Deserialize, Deserializer, Error as DeError, Unexpected, Visitor},
4+
ser::Serializer,
5+
};
46
use std::fmt;
57

68
pub fn serialize<S: Serializer>(method: &Method, ser: S) -> Result<S::Ok, S::Error> {

lambda-events/src/custom_serde/mod.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
use base64::Engine;
2-
use serde::de::{Deserialize, Deserializer, Error as DeError};
3-
use serde::ser::Serializer;
2+
use serde::{
3+
de::{Deserialize, Deserializer, Error as DeError},
4+
ser::Serializer,
5+
};
46
use std::collections::HashMap;
57

68
#[cfg(feature = "codebuild")]

lambda-events/src/encodings/http.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
use base64::display::Base64Display;
22
use bytes::Bytes;
33
use http_body::{Body as HttpBody, SizeHint};
4-
use serde::de::{Deserialize, Deserializer, Error as DeError, Visitor};
5-
use serde::ser::{Error as SerError, Serialize, Serializer};
4+
use serde::{
5+
de::{Deserialize, Deserializer, Error as DeError, Visitor},
6+
ser::{Error as SerError, Serialize, Serializer},
7+
};
68
use std::{borrow::Cow, mem::take, ops::Deref, pin::Pin, task::Poll};
79

810
/// Representation of http request and response bodies as supported

lambda-events/src/encodings/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use serde::{Deserialize, Serialize};
2-
use std::{ops::Deref, ops::DerefMut};
2+
use std::ops::{Deref, DerefMut};
33

44
#[cfg(feature = "chrono")]
55
mod time;

lambda-events/src/encodings/time.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
use chrono::{DateTime, TimeDelta, TimeZone, Utc};
2-
use serde::ser::Serializer;
32
use serde::{
43
de::{Deserializer, Error as DeError},
4+
ser::Serializer,
55
Deserialize, Serialize,
66
};
77
use std::ops::{Deref, DerefMut};

lambda-events/src/event/alb/mod.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
use crate::custom_serde::{
2-
deserialize_headers, deserialize_nullish_boolean, http_method, serialize_headers, serialize_multi_value_headers,
1+
use crate::{
2+
custom_serde::{
3+
deserialize_headers, deserialize_nullish_boolean, http_method, serialize_headers, serialize_multi_value_headers,
4+
},
5+
encodings::Body,
36
};
4-
use crate::encodings::Body;
57
use http::{HeaderMap, Method};
68
use query_map::QueryMap;
79
use serde::{Deserialize, Serialize};

lambda-events/src/event/apigw/mod.rs

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
use crate::custom_serde::{
2-
deserialize_headers, deserialize_lambda_map, deserialize_nullish_boolean, http_method, serialize_headers,
3-
serialize_multi_value_headers,
1+
use crate::{
2+
custom_serde::{
3+
deserialize_headers, deserialize_lambda_map, deserialize_nullish_boolean, http_method, serialize_headers,
4+
serialize_multi_value_headers,
5+
},
6+
encodings::Body,
7+
iam::IamPolicyStatement,
48
};
5-
use crate::encodings::Body;
6-
use crate::iam::IamPolicyStatement;
79
use http::{HeaderMap, Method};
810
use query_map::QueryMap;
911
use serde::{de::DeserializeOwned, ser::SerializeMap, Deserialize, Deserializer, Serialize, Serializer};

lambda-events/src/event/appsync/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
use serde::de::DeserializeOwned;
2-
use serde::{Deserialize, Serialize};
1+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
32
use serde_json::Value;
43
use std::collections::HashMap;
54

lambda-events/src/event/autoscaling/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use chrono::{DateTime, Utc};
2-
use serde::de::DeserializeOwned;
3-
use serde::{Deserialize, Serialize};
2+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
43
use serde_json::Value;
54
use std::collections::HashMap;
65

lambda-events/src/event/cloudformation/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@ pub enum CloudFormationCustomResourceResponseStatus {
102102
mod test {
103103
use std::collections::HashMap;
104104

105-
use super::CloudFormationCustomResourceRequest::*;
106-
use super::*;
105+
use super::{CloudFormationCustomResourceRequest::*, *};
107106

108107
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
109108
#[serde(rename_all = "PascalCase")]

lambda-events/src/event/cloudformation/provider.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,7 @@ where
9090
mod test {
9191
use std::collections::HashMap;
9292

93-
use super::CloudFormationCustomResourceRequest::*;
94-
use super::*;
93+
use super::{CloudFormationCustomResourceRequest::*, *};
9594

9695
#[derive(Clone, Debug, Deserialize, PartialEq, Serialize)]
9796
#[serde(rename_all = "PascalCase")]

lambda-events/src/event/cloudwatch_events/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use chrono::{DateTime, Utc};
2-
use serde::de::DeserializeOwned;
3-
use serde::{Deserialize, Serialize};
2+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
43
use serde_json::Value;
54

65
pub mod cloudtrail;

lambda-events/src/event/codebuild/mod.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
use crate::custom_serde::{codebuild_time, CodeBuildNumber};
2-
use crate::encodings::{MinuteDuration, SecondDuration};
1+
use crate::{
2+
custom_serde::{codebuild_time, CodeBuildNumber},
3+
encodings::{MinuteDuration, SecondDuration},
4+
};
35
use chrono::{DateTime, Utc};
4-
use serde::de::DeserializeOwned;
5-
use serde::{Deserialize, Serialize};
6+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
67
use serde_json::Value;
78

89
pub type CodeBuildPhaseStatus = String;

lambda-events/src/event/cognito/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
use serde::de::DeserializeOwned;
2-
use serde::{Deserialize, Serialize};
1+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
32
use serde_json::Value;
43
use std::collections::HashMap;
54

lambda-events/src/event/dynamodb/mod.rs

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
use crate::custom_serde::deserialize_lambda_dynamodb_item;
2-
use crate::time_window::*;
3-
use crate::{custom_serde::float_unix_epoch, streams::DynamoDbBatchItemFailure};
1+
use crate::{
2+
custom_serde::{deserialize_lambda_dynamodb_item, float_unix_epoch},
3+
streams::DynamoDbBatchItemFailure,
4+
time_window::*,
5+
};
46
use chrono::{DateTime, Utc};
57
use serde::{Deserialize, Serialize};
68
use std::fmt;

lambda-events/src/event/eventbridge/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use chrono::{DateTime, Utc};
2-
use serde::de::DeserializeOwned;
3-
use serde::{Deserialize, Serialize};
2+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
43
use serde_json::Value;
54

65
/// Parse EventBridge events.

lambda-events/src/event/iot/mod.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
use crate::custom_serde::serialize_headers;
2-
use crate::encodings::Base64Data;
3-
use crate::iam::IamPolicyDocument;
1+
use crate::{custom_serde::serialize_headers, encodings::Base64Data, iam::IamPolicyDocument};
42
use http::HeaderMap;
53
use serde::{Deserialize, Serialize};
64

lambda-events/src/event/kinesis/event.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
use crate::encodings::{Base64Data, SecondTimestamp};
2-
use crate::time_window::{TimeWindowEventResponseProperties, TimeWindowProperties};
1+
use crate::{
2+
encodings::{Base64Data, SecondTimestamp},
3+
time_window::{TimeWindowEventResponseProperties, TimeWindowProperties},
4+
};
35
use serde::{Deserialize, Serialize};
46

57
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]

lambda-events/src/event/rabbitmq/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
use serde::de::DeserializeOwned;
2-
use serde::{Deserialize, Serialize};
1+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
32
use serde_json::Value;
43
use std::collections::HashMap;
54

lambda-events/src/event/s3/object_lambda.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use http::HeaderMap;
2-
use serde::de::DeserializeOwned;
3-
use serde::{Deserialize, Serialize};
2+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
43
use serde_json::Value;
54
use std::collections::HashMap;
65

lambda-events/src/event/sns/mod.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
use chrono::{DateTime, Utc};
2-
use serde::de::DeserializeOwned;
3-
use serde::{Deserialize, Serialize};
2+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
43
use std::collections::HashMap;
54

65
use crate::custom_serde::{deserialize_lambda_map, deserialize_nullish_boolean};

lambda-events/src/event/sqs/mod.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
use crate::custom_serde::deserialize_lambda_map;
2-
use crate::encodings::Base64Data;
3-
use serde::de::DeserializeOwned;
4-
use serde::{Deserialize, Serialize};
1+
use crate::{custom_serde::deserialize_lambda_map, encodings::Base64Data};
2+
use serde::{de::DeserializeOwned, Deserialize, Serialize};
53
use std::collections::HashMap;
64

75
/// The Event sent to Lambda from SQS. Contains 1 or more individual SQS Messages

lambda-extension/src/extension.rs

+8-4
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11
use http::Request;
22
use http_body_util::BodyExt;
3-
use hyper::body::Incoming;
4-
use hyper::server::conn::http1;
5-
use hyper::service::service_fn;
3+
use hyper::{body::Incoming, server::conn::http1, service::service_fn};
64

75
use hyper_util::rt::tokio::TokioIo;
86
use lambda_runtime_api_client::Client;
97
use serde::Deserialize;
108
use std::{
11-
convert::Infallible, fmt, future::ready, future::Future, net::SocketAddr, path::PathBuf, pin::Pin, sync::Arc,
9+
convert::Infallible,
10+
fmt,
11+
future::{ready, Future},
12+
net::SocketAddr,
13+
path::PathBuf,
14+
pin::Pin,
15+
sync::Arc,
1216
};
1317
use tokio::{net::TcpListener, sync::Mutex};
1418
use tokio_stream::StreamExt;

lambda-http/src/request.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,12 @@ use aws_lambda_events::apigw::{ApiGatewayV2httpRequest, ApiGatewayV2httpRequestC
2626
#[cfg(feature = "apigw_websockets")]
2727
use aws_lambda_events::apigw::{ApiGatewayWebsocketProxyRequest, ApiGatewayWebsocketProxyRequestContext};
2828
use aws_lambda_events::{encodings::Body, query_map::QueryMap};
29-
use http::header::HeaderName;
30-
use http::{HeaderMap, HeaderValue};
29+
use http::{header::HeaderName, HeaderMap, HeaderValue};
3130

3231
use serde::{Deserialize, Serialize};
3332
use serde_json::error::Error as JsonError;
3433

35-
use std::future::Future;
36-
use std::pin::Pin;
37-
use std::{env, io::Read};
34+
use std::{env, future::Future, io::Read, pin::Pin};
3835
use url::Url;
3936

4037
/// Internal representation of an Lambda http event from

0 commit comments

Comments
 (0)